浏览代码

基本标准词导入导出优化

wangfeng 4 年之前
父节点
当前提交
8d01742640
共有 1 个文件被更改,包括 40 次插入41 次删除
  1. 40 41
      cdssman-service/src/main/java/com/diagbot/facade/TermImportFacade.java

+ 40 - 41
cdssman-service/src/main/java/com/diagbot/facade/TermImportFacade.java

@@ -87,57 +87,59 @@ public class TermImportFacade {
         QueryWrapper<KlLexicon> klLexiconQuer = new QueryWrapper<>();
         klLexiconQuer.eq("is_deleted", IsDeleteEnum.N.getKey());
         List<KlLexicon> list = klLexiconFacade.list(klLexiconQuer);
-        Map<String, Integer> lexiconMap = list.stream()
-                .collect(Collectors.toMap(KlLexicon::getName, KlLexicon::getCode));
+        Map<String, KlLexicon> lexiconMap = list.stream()
+                .collect(Collectors.toMap(KlLexicon::getName, questionInfo -> questionInfo));
         //问题数据
         Map<Integer, String> errMsg = new HashMap<Integer, String>();
         Map<String, Integer> libNameMap = new HashMap<String, Integer>();
         List<Integer> sexType = Arrays.asList(1, 2, 3);
         for (Integer row : conceptExportMap.keySet()) {
             ImportConceptAllVO data = conceptExportMap.get(row);
-            //校验标准数据
-            if (StringUtil.isBlank(data.getLibName())) {
-                errMsg.put(data.getRowNum(), "--标准术语为空--");
-            }
-            //类型
-            Integer key = lexiconMap.get(data.getTypeName());
-            if (null != key) {
-                data.setLibType(key);
+            //校验医学标准术语、类型、性别、最小年龄、最大年龄必填
+            if (StringUtil.isBlank(data.getLibName()) ||
+                    StringUtil.isBlank(data.getLibName()) ||
+                    null == data.getSexType()
+                    || null == data.getMinAge()
+                    || null == data.getMinAge()) {
+                errMsg.put(data.getRowNum(), "--医学标准术语、类型、性别、最小年龄、最大年龄必填--");
             } else {
-                errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--类型错误--" :
-                        errMsg.get(data.getRowNum()) + "--类型错误--");
-            }
-            //性别
-            if (null == data.getSexType() || null != data.getSexType() && !sexType.contains(data.getSexType())) {
-                errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--性别错误--" :
-                        errMsg.get(data.getRowNum()) + "--性别错误--");
-            }
-            if (null == data.getMinAge() || null != data.getMinAge() && data.getMinAge() < 0.0) {
-                errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--最小年龄错误--" :
-                        errMsg.get(data.getRowNum()) + "--最小年龄错误--");
-            }
-            if (null == data.getMaxAge() || null != data.getMaxAge() && data.getMaxAge() > 200) {
-                errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--最大年龄错误--" :
-                        errMsg.get(data.getRowNum()) + "--最大年龄错误--");
-            }
-            if (null != data.getMaxAge() && null != data.getMinAge()) {
-                boolean b = data.getMaxAge() < data.getMinAge();
-                if (b) {
+                //类型
+                if (lexiconMap.get(data.getTypeName()) == null) {
+                    errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--类型错误--" :
+                            errMsg.get(data.getRowNum()) + "--类型错误--");
+                } else {
+                    data.setLibType(lexiconMap.get(data.getTypeName()).getCode());
+                    data.setIsHasCommon(lexiconMap.get(data.getTypeName()).getIsHasCommon());
+                }
+                //性别123
+                if (!sexType.contains(data.getSexType())) {
+                    errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--性别错误--" :
+                            errMsg.get(data.getRowNum()) + "--性别错误--");
+                }
+                if (data.getMinAge() < 0.0) {
+                    errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--最小年龄错误--" :
+                            errMsg.get(data.getRowNum()) + "--最小年龄错误--");
+                }
+                if (data.getMaxAge() > 200) {
+                    errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--最大年龄错误--" :
+                            errMsg.get(data.getRowNum()) + "--最大年龄错误--");
+                }
+                if (data.getMaxAge() < data.getMinAge()) {
                     errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "--最大年龄小于最小年龄--" :
                             errMsg.get(data.getRowNum()) + "--最大年龄小于最小年龄--");
                 }
-            }
-            //标准词数据重复校验
-            if (null != data.getLibName() && null != data.getLibType()) {
+                //标准词数据重复校验
                 Integer integer = libNameMap.get(data.getLibName() + "_" + data.getLibType());
                 if (null == integer) {
                     libNameMap.put(data.getLibName() + "_" + data.getLibType(), data.getRowNum());
                 } else {
-                    errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? "----标准词数据重复----" :
-                            errMsg.get(data.getRowNum()) + "--标准词数据重复--");
+                    errMsg.put(data.getRowNum(), errMsg.get(data.getRowNum()) == null ? data.getLibName() + "_重复出现----" :
+                            errMsg.get(data.getRowNum()) + data.getLibName() + "_重复出现----");
                 }
 
+
             }
+
         }
         //拆同义词
         for (Integer row : conceptExportMap.keySet()) {
@@ -161,8 +163,8 @@ public class TermImportFacade {
                         if (null == integer) {
                             libNameMap.put(r.trim() + "_" + libType, termExcelVO.getRowNum());
                         } else {
-                            errMsg.put(termExcelVO.getRowNum(), errMsg.get(termExcelVO.getRowNum()) == null ? "--同义词数据重复--" :
-                                    errMsg.get(termExcelVO.getRowNum()) + "--同义词数据重复--");
+                            errMsg.put(termExcelVO.getRowNum(), errMsg.get(termExcelVO.getRowNum()) == null ? r.trim() + "重复出现--" :
+                                    errMsg.get(termExcelVO.getRowNum()) + r.trim() +  "重复出现--");
                         }
 
                     }
@@ -175,8 +177,8 @@ public class TermImportFacade {
         for (String libName : libNameMap.keySet()) {
             Integer integer = libNameMap.get(libName);
             if (set.contains(libName)) {
-                errMsg.put(integer, errMsg.get(integer) == null ? "--数据库中存在标准词或同义词--" :
-                        errMsg.get(integer) + "--数据库中存在标准词或同义词--");
+                errMsg.put(integer, errMsg.get(integer) == null ? "--数据库中" + libName  + "已存在--" :
+                        errMsg.get(integer) + "--数据库中" + libName + "已存在--");
             }
         }
 
@@ -196,9 +198,6 @@ public class TermImportFacade {
         for (Integer row : conceptExportMap.keySet()) {
             ImportConceptAllVO str1 = conceptExportMap.get(row);
             if (!conceptListNew.contains(str1)) {
-                if (null != str1.getMaxAge() && null != str1.getMaxAge() && null != str1.getSexType()) {
-                    str1.setIsHasCommon(1);
-                }
                 conceptListData.add(str1);
             }
         }