Browse Source

1、术语关联映射-导入

zhaops 3 years ago
parent
commit
a0cb2ab32d
1 changed files with 21 additions and 3 deletions
  1. 21 3
      src/main/java/com/diagbot/facade/MappingConfigFacade.java

+ 21 - 3
src/main/java/com/diagbot/facade/MappingConfigFacade.java

@@ -1231,7 +1231,7 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
         }
         List<MappingConfigWrapper> data = importDataProcess(originList, hospitalId, type, userId);
         if (ListUtil.isNotEmpty(data)) {
-            exportExcel(response, data, type, "导入失败", 1);
+            exportExcel(response, data, type, "标准词校验错误(含非标和禁用)", 1);
         }
     }
 
@@ -1674,7 +1674,11 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
                             item.setIsMatch(1);
                         } else {
                             item.setIsMatch(0);
-                            errorList.add(item);
+                            MappingConfigWrapper errorItem = new MappingConfigWrapper();
+                            BeanUtils.copyProperties(item, errorItem);
+                            errorItem.setIsMatch(null);
+                            errorList.add(errorItem);
+                            item.setUniqueName("");
                         }
                     } else {
                         if (lisMap.containsKey(item.getUniqueName())) {
@@ -1682,7 +1686,11 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
                             item.setIsMatch(1);
                         } else {
                             item.setIsMatch(0);
-                            errorList.add(item);
+                            MappingConfigWrapper errorItem = new MappingConfigWrapper();
+                            BeanUtils.copyProperties(item, errorItem);
+                            errorItem.setIsMatch(null);
+                            errorList.add(errorItem);
+                            item.setUniqueName("");
                         }
                     }
 
@@ -1710,10 +1718,12 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
                             item.setIsMatch(0);
                             MappingConfigWrapper errorItem = new MappingConfigWrapper();
                             BeanUtils.copyProperties(item, errorItem);
+                            item.setUniqueName("");
                             //标准词校验不通过,剂型置空
                             if (StringUtil.isNotBlank(item.getForm())) {
                                 item.setForm("");
                             }
+                            errorItem.setIsMatch(null);
                             errorList.add(errorItem);
                         }
                     }
@@ -1756,11 +1766,19 @@ public class MappingConfigFacade extends MappingConfigServiceImpl {
                     .distinct()
                     .collect(Collectors.toList());
 
+            //去除未匹配数据(数据校验导致匹配标志变化)
+            matchList = tempList.stream().filter(i -> StringUtil.isNotBlank(i.getUniqueName())).collect(Collectors.toList());
+            matchMap = matchList.stream().collect(Collectors.groupingBy(i -> i.getHisName() + "_"
+                    + i.getHisCode() + "_"
+                    + i.getHisDetailName()));
             List<MappingConfig> saveList = Lists.newLinkedList();
             for (MappingConfigWrapper item : tempList) {
                 //检查标准术语校验后未匹配的数据是否有对应已匹配的数据,有则删除未匹配数据
                 if (item.getIsMatch().equals(0)) {
                     String key = item.getHisName() + "_" + item.getHisCode() + "_" + item.getHisDetailName();
+                    if (matchMap.containsKey(key)) {
+                        continue;
+                    }
                     if (db_matchMap.containsKey(key)) {
                         continue;
                     }