소스 검색

1、术语关联映射-检验细项术语校验

zhaops 3 년 전
부모
커밋
7884e1dc9e
1개의 변경된 파일48개의 추가작업 그리고 9개의 파일을 삭제
  1. 48 9
      src/main/java/com/diagbot/facade/MappingConfigFacade.java

+ 48 - 9
src/main/java/com/diagbot/facade/MappingConfigFacade.java

@@ -1147,16 +1147,55 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
         conceptVO.setSource(MatchSourceEnum.StandWord.getKey());
         conceptVO.setStatus(StatusEnum.Enable.getKey());
         List<String> uniqueNames = list.stream()
-                .filter(i -> StringUtil.isNotBlank(i.getUniqueName()))
+                .filter(i -> StringUtil.isBlank(i.getHisDetailName())
+                        && StringUtil.isNotBlank(i.getUniqueName()))
                 .map(MappingConfigWrapper::getUniqueName)
                 .distinct()
                 .collect(Collectors.toList());
         conceptVO.setType(type);
+        conceptVO.setNames(uniqueNames);
         RespDTO<List<IndexBatchDTO>> respDTO = cdssCoreClient.getConceptNames(conceptVO);
+        RespDTO<List<IndexBatchDTO>> listRespDTO = null;
+        if (type.equals(ConceptTypeEnum.LisPack.getKey())) {
+            List<String> lisUniqueNames = list.stream()
+                    .filter(i -> StringUtil.isNotBlank(i.getHisDetailName())
+                            && StringUtil.isNotBlank(i.getUniqueName()))
+                    .map(MappingConfigWrapper::getUniqueName)
+                    .distinct()
+                    .collect(Collectors.toList());
+            conceptVO.setType(ConceptTypeEnum.Lis.getKey());
+            conceptVO.setNames(lisUniqueNames);
+            listRespDTO = cdssCoreClient.getConceptNames(conceptVO);
+        }
+
+        Map<String, IndexBatchDTO> dtoMap = new HashMap<>();
+        Map<String, IndexBatchDTO> lisDtoMap = new HashMap<>();
         if (RespDTOUtil.respIsOK(respDTO)) {
-            Map<String, IndexBatchDTO> dtoMap = respDTO.data.stream().collect(Collectors.toMap(IndexBatchDTO::getName, v -> v));
-            for (MappingConfigWrapper item : list) {
-                if (StringUtil.isNotBlank(item.getUniqueName())) {
+            dtoMap = respDTO.data.stream().collect(Collectors.toMap(IndexBatchDTO::getName, v -> v));
+        }
+        if (RespDTOUtil.respIsOK(listRespDTO)) {
+            lisDtoMap = listRespDTO.data.stream().collect(Collectors.toMap(IndexBatchDTO::getName, v -> v));
+        }
+        for (MappingConfigWrapper item : list) {
+            if (StringUtil.isNotBlank(item.getUniqueName())) {
+                if (StringUtil.isNotBlank(item.getHisDetailName())) {
+                    if (lisDtoMap == null || lisDtoMap.size() == 0) {
+                        continue;
+                    }
+                    if (lisDtoMap.containsKey(item.getUniqueName())) {
+                        item.setConceptId(lisDtoMap.get(item.getUniqueName()).getId());
+                        item.setStatus(StatusEnum.Enable.getKey());
+                    } else {
+                        item.setUniqueName("");
+                        item.setConceptId(null);
+                        item.setStatus(StatusEnum.Disable.getKey());
+                        item.setIsMatch(0);
+                        item.setRemark("术语校验失败;");
+                    }
+                } else {
+                    if (dtoMap == null || dtoMap.size() == 0) {
+                        continue;
+                    }
                     if (dtoMap.containsKey(item.getUniqueName())) {
                         item.setConceptId(dtoMap.get(item.getUniqueName()).getId());
                         item.setStatus(StatusEnum.Enable.getKey());
@@ -1167,9 +1206,9 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
                         item.setIsMatch(0);
                         item.setRemark("术语校验失败;");
                     }
-                } else {
-                    continue;
                 }
+            } else {
+                continue;
             }
         }
 
@@ -1186,14 +1225,14 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
             conceptVO.setStatus(StatusEnum.Enable.getKey());
             respDTO = cdssCoreClient.getConceptNames(conceptVO);
             if (RespDTOUtil.respIsOK(respDTO)) {
-                Map<String, IndexBatchDTO> dtoMap = respDTO.data.stream().collect(Collectors.toMap(IndexBatchDTO::getName, v -> v));
+                Map<String, IndexBatchDTO> formDtoMap = respDTO.data.stream().collect(Collectors.toMap(IndexBatchDTO::getName, v -> v));
                 for (MappingConfigWrapper item : list) {
                     if (item.getIsMatch() != null && item.getIsMatch().equals(0)) {
                         continue;
                     }
                     if (StringUtil.isNotBlank(item.getForm())) {
-                        if (dtoMap.containsKey(item.getForm())) {
-                            item.setFormConceptId(dtoMap.get(item.getForm()).getId());
+                        if (formDtoMap.containsKey(item.getForm())) {
+                            item.setFormConceptId(formDtoMap.get(item.getForm()).getId());
                             item.setFormStatus(StatusEnum.Enable.getKey());
                         } else {
                             item.setForm("");