Jelajahi Sumber

Merge remote-tracking branch 'origin/dev/diagbotcloud20190924_diagnose2' into dev/diagbotcloud20190924_diagnose2

gaodm 5 tahun lalu
induk
melakukan
ed6b9848ef

+ 107 - 57
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -160,7 +160,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         this.update(new Diagnose(), new UpdateWrapper<Diagnose>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
                 .eq("has_question", HasQuestionEnum.NO_QUESTION.getKey())
-                .set("neo_update", DateUtil.getDateFromTime(1970, 1, 1, 12, 0, 0))
+                .set("neo_update",
+                        DateUtil.getDateFromTime(1970, 1, 1, 12, 0, 0))
         );
         List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
                 .eq("is_deleted", IsDeleteEnum.N.getKey())
@@ -175,15 +176,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
     public String addTest() {
         StringBuffer sb = new StringBuffer();
         List<Diagnose> diagnoseList = this.list(new QueryWrapper<Diagnose>()
-            .eq("is_deleted", IsDeleteEnum.N.getKey())
+                .eq("is_deleted", IsDeleteEnum.N.getKey())
         );
         List<String> disName = diagnoseList.stream().map(row -> row.getDisName()).collect(Collectors.toList());
         List<LibraryInfo> diagnoses = libraryInfoFacade.page(
                 new Page().setSize(100L), new QueryWrapper<LibraryInfo>()
-                .eq("type_id", 18)
-                .eq("is_deleted", IsDeleteEnum.N.getKey())
-                .eq("is_concept", 1)
-                .notIn("name", disName)
+                        .eq("type_id", 18)
+                        .eq("is_deleted", IsDeleteEnum.N.getKey())
+                        .eq("is_concept", 1)
+                        .notIn("name", disName)
         ).getRecords();
         List<Diagnose> diagnoseData = new ArrayList<>();
         for (LibraryInfo diagnose : diagnoses) {
@@ -196,10 +197,11 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         Long time1 = System.currentTimeMillis();
         diagnoseService.saveBatch(diagnoseData);
         Long time2 = System.currentTimeMillis();
-        sb.append("添加主表测试数据:" + (time2-time1)/1000.00 + "秒");
+        sb.append("添加主表测试数据:" + (time2 - time1) / 1000.00 + "秒");
 
         List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
-        List<DiagnoseDetail> diagnoseDetailData = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>().eq("diagnose_id", 7L));
+        List<DiagnoseDetail> diagnoseDetailData =
+                diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>().eq("diagnose_id", 7L));
         for (Diagnose diagnose : diagnoseData) {
             for (DiagnoseDetail detail : diagnoseDetailData) {
                 DiagnoseDetail newDiagDetail = new DiagnoseDetail();
@@ -270,7 +272,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         verifyDataDTO.setId(id); //设置主键返回
         // 加载词库数据
 //        List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
-//        Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
+//        Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId())
+//                          .collect(Collectors.toSet());
         Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2(); // 加载词库数据
         // 明细数据
         List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
@@ -310,7 +313,6 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
 
     /**
      * 诊断依据校验全部数据(不用修改操作人和时间)
-     *
      */
     public String verifyAllData() {
         StringBuffer res = new StringBuffer();
@@ -333,21 +335,23 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             List<DiagnoseDetail> diagnoseDetailWithDB = diagnoseDetailFacade.list(new QueryWrapper<DiagnoseDetail>()
                     .eq("is_deleted", IsDeleteEnum.N.getKey())
             );
-            Map<String, List<DiagnoseDetail>> map = EntityUtil.makeEntityListMap(diagnoseDetailWithDB, "disName");
+            Map<String, List<DiagnoseDetail>> map =
+                    EntityUtil.makeEntityListMap(diagnoseDetailWithDB, "disName");
 
             Long time2 = System.currentTimeMillis();
-            res.append("加载全部主表和明细表:" + (time2-time1)/1000.0).append("秒,");
+            res.append("加载全部主表和明细表:" + (time2 - time1) / 1000.0).append("秒,");
             // 明细数据
             List<DiagnoseDetail> diagnoseDetailList = new ArrayList<>();
             // 问题词数据
             List<DiagnoseQuestion> diagnoseQuestionList = new ArrayList<>();
             // 加载词库数据
 //            List<LibraryForDiagnoseDTO> libraryForDiagnoseDTOS = libraryInfoFacade.getLibraryForDiagnose();
-//            Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId()).collect(Collectors.toSet());
+//            Set<String> set = libraryForDiagnoseDTOS.stream().map(row -> row.getName()+ "_"+row.getTypeId())
+//                              .collect(Collectors.toSet());
             Set<String> libSet = libraryInfoFacade.getLibraryForDiagnose2(); // 加载词库
             Set<String> lisMappingSet = lisMappingFacade.loadLisMappingFac(); // 加载公表项
             Long time3 = System.currentTimeMillis();
-            res.append("加载词库:" + (time3-time2)/1000.0).append("秒,");
+            res.append("加载词库:" + (time3 - time2) / 1000.0).append("秒,");
             Boolean flag = true;
             List<Integer> typeList = new ArrayList<>();
             // 校验明细数据
@@ -360,15 +364,22 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                     // 判断诊断名称是否在词库中
                     flag = verifyExist(libSet, detail.get(0).getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
                     if (!flag) {
-                        DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(detail.get(0).getDiagnoseId(), detail.get(0).getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
+                        DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(detail.get(0).getDiagnoseId(),
+                                detail.get(0).getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
                                 detail.get(0).getDisName(), DiagnoseFieldEnum.disName.getKey(), initCommonParam(), ++j);
                         diagnoseQuestionList.add(diagnoseQuestion1);
                         diagnoseName.add(diagnoseQuestion1.getDisName());
                     }
+                    List<DiagnoseDetail> lis = new ArrayList<>();
+                    List<DiagnoseDetail> pacs = new ArrayList<>();
+                    List<DiagnoseDetail> formula = new ArrayList<>();
 
                     for (DiagnoseDetail bean : detail) {
                         boolean updateFlag = false;
-                        if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType() || (DiagnoseTypeEnum.Examination.getKey() == bean.getType() || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
+                        if (DiagnoseTypeEnum.Confirmed.getKey() == bean.getType()
+                                || (DiagnoseTypeEnum.Examination.getKey() == bean.getType()
+                                || (DiagnoseTypeEnum.Vigilant.getKey() == bean.getType()))) {
+                            formula.add(bean); // 添加到公式列表
                             // 校验公式
                             String oldVerifyFormula = bean.getVerifyFormula();
                             String errMsg = VerifyUtil.verifyFormula(codeList, bean.getFormula());
@@ -383,6 +394,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 updateFlag = true;
                             }
                         } else {
+                            // 添加到化验列表
+                            if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()) {
+                                lis.add(bean);
+                            }
+                            // 添加到辅检列表
+                            if (DiagnoseFeatureTypeEnum.Pacs.getKey() == bean.getType()) {
+                                pacs.add(bean);
+                            }
                             // 校验编码
                             String oldVerifyCode = bean.getVerifyCode();
                             if (StringUtil.isNotEmpty(bean.getCode())) {
@@ -391,8 +410,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                     bean.setVerifyCode(bean.getCode());
                                     diagnoseName.add(bean.getDisName());
                                     // 不需要添加问题词
-//                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
-//                                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
+//                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
+//                                              bean.getDisName(), bean.getType(),
+//                                              bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
 //                                    diagnoseQuestionList.add(diagnoseQuestion);
                                 } else {
                                     bean.setVerifyCode(""); // 将原值清空
@@ -405,12 +425,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                             // 校验标准词
                             if (StringUtil.isNotEmpty(bean.getStandard())) {
                                 String oldVerifyStandard = bean.getVerifyStandard();
-                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.standard.getKey());
+                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                                        DiagnoseFieldEnum.standard.getKey());
                                 flag = verifyExist(libSet, bean.getStandard(), typeList);
                                 if (!flag) {
                                     bean.setVerifyStandard(bean.getStandard());
-                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
-                                            bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
+                                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
+                                            bean.getDisName(), bean.getType(), bean.getStandard(),
+                                            DiagnoseFieldEnum.standard.getKey(), param, ++j);
                                     if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
                                         diagnoseQuestionList.add(diagnoseQuestion);
                                     }
@@ -428,13 +450,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 String oldVerifyRelation = bean.getVerifyRelation();
                                 String[] arr = bean.getRelation().split("、");
                                 StringBuffer sb = new StringBuffer();
-                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
+                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                                        DiagnoseFieldEnum.relation.getKey());
                                 for (String s : arr) {
                                     flag = verifyExist(libSet, s.trim(), typeList);
                                     if (!flag) {
                                         sb.append(s).append("、");
-                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
-                                                s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
+                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
+                                                bean.getDisName(), bean.getType(), s.trim(),
+                                                DiagnoseFieldEnum.relation.getKey(), param, ++j);
                                         if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
                                             diagnoseQuestionList.add(diagnoseQuestion);
                                         }
@@ -456,7 +480,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                             if (DiagnoseFeatureTypeEnum.Lis.getKey() == bean.getType()) {
                                 String oldVerifyUnique = bean.getVerifyUnique();
                                 if (StringUtil.isNotEmpty(bean.getUniqueName())) { // 公表项数据不为空
-                                    if (!lisMappingSet.contains(bean.getStandard() + "__" + bean.getRelation() + "__" + bean.getUniqueName())) {
+                                    if (!lisMappingSet.contains(bean.getStandard() + "__" + bean.getRelation()
+                                            + "__" + bean.getUniqueName())) {
                                         bean.setVerifyUnique("无公表项");
                                         diagnoseName.add(bean.getDisName());
                                     } else {
@@ -476,13 +501,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                                 String oldVerifyResult = bean.getVerifyResult();
                                 String[] arr = bean.getResult().split("、");
                                 StringBuffer sb = new StringBuffer();
-                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
+                                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                                        DiagnoseFieldEnum.result.getKey());
                                 for (String s : arr) {
                                     flag = verifyExist(libSet, s.trim(), typeList);
                                     if (!flag) {
                                         sb.append(s).append("、");
-                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(), bean.getDisName(), bean.getType(),
-                                                s.trim(), DiagnoseFieldEnum.result.getKey(), param, ++j);
+                                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(bean.getDiagnoseId(),
+                                                bean.getDisName(), bean.getType(), s.trim(),
+                                                DiagnoseFieldEnum.result.getKey(), param, ++j);
                                         if (addDiagnoseQuestion(diagnosetQuestionSet, diagnoseQuestion)) {
                                             diagnoseQuestionList.add(diagnoseQuestion);
                                         }
@@ -505,10 +532,16 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                             diagnoseDetailList.add(bean);
                         }
                     }
+                    // 以上校验全部通过之后再校验业务异常,例如:诊断公式里有化验和辅检编码,则化验和辅检数据必须完整
+                    if (!diagnoseName.contains(key)) {
+                        for (DiagnoseDetail det : lis) {
+
+                        }
+                    }
                 }
             }
             Long time4 = System.currentTimeMillis();
-            res.append("校验问题词:" + (time4-time3)/1000.0).append("秒,");
+            res.append("校验问题词:" + (time4 - time3) / 1000.0).append("秒,");
 
             // 更新明细
             if (ListUtil.isNotEmpty(diagnoseDetailList)) {
@@ -516,7 +549,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             }
 
             Long time5 = System.currentTimeMillis();
-            res.append("更新明细"+diagnoseDetailList.size()+"条:" + (time5-time4)/1000.0).append("秒,");
+            res.append("更新明细" + diagnoseDetailList.size() + "条:" + (time5 - time4) / 1000.0).append("秒,");
 
             // 删除全部的问题词数据
             diagnoseQuestionService.remove(new QueryWrapper<DiagnoseQuestion>());
@@ -526,7 +559,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 diagnoseQuestionService.insertBatch(diagnoseQuestionList); // 效率比框架的saveBatch高很多
             }
             Long time6 = System.currentTimeMillis();
-            res.append("新增问题词" + diagnoseQuestionList.size() + "条:" + (time6-time5)/1000.0).append("秒,");
+            res.append("新增问题词" + diagnoseQuestionList.size() + "条:" + (time6 - time5) / 1000.0).append("秒,");
 
             // 修改问题词表的状态
             List<Diagnose> updateDiagnose = new ArrayList<>();
@@ -547,8 +580,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 diagnoseService.updateBatch(updateDiagnose);
             }
             Long time7 = System.currentTimeMillis();
-            res.append("更新主表" +updateDiagnose.size()+ "条:" + (time7-time6)/1000.0).append("秒,");
-            res.append("总计花费时间:" + (time7-time1)/1000.0).append("秒。");
+            res.append("更新主表" + updateDiagnose.size() + "条:" + (time7 - time6) / 1000.0).append("秒,");
+            res.append("总计花费时间:" + (time7 - time1) / 1000.0).append("秒。");
         } catch (Exception e) {
             throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, e.getMessage());
         } finally {
@@ -567,7 +600,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      * @return
      */
     public Boolean addDiagnoseQuestion(Set<String> set, DiagnoseQuestion diagnoseQuestion) {
-        String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_" + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
+        String key = diagnoseQuestion.getDiagnoseId() + "_" + diagnoseQuestion.getType() + "_"
+                + diagnoseQuestion.getQuestionType() + "_" + diagnoseQuestion.getQuestionName();
         if (!set.contains(key)) {
             set.add(key);
             return true;
@@ -577,13 +611,14 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
 
 
     /**
-     *  处理诊断特征业务(校验诊断名称|编码|标准词|关联词|结果)
+     * 处理诊断特征业务(校验诊断名称|编码|标准词|关联词|结果)
      *
      * @param diagnoseWrapper
      * @param param
      * @return
      */
-    public void doDisFuture(DiagnoseWrapper diagnoseWrapper, CommonParam param, Set<String> set,  List<DiagnoseDetail> diagnoseDetailList,  List<DiagnoseQuestion> diagnoseQuestionList) {
+    public void doDisFuture(DiagnoseWrapper diagnoseWrapper, CommonParam param, Set<String> set,
+                            List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
         int i = param.getI();
         int j = param.getJ();
         Set<String> questionSet = new HashSet<>(); // 问题词去重变量
@@ -592,7 +627,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         boolean flag = true;
         flag = verifyExist(set, diagnoseWrapper.getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
         if (!flag) {
-            DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
+            DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(),
+                    diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
                     diagnoseWrapper.getDisName(), DiagnoseFieldEnum.disName.getKey(), param, ++j);
             diagnoseQuestionList.add(diagnoseQuestion1);
             param.setDisNameExist(false); // 标识
@@ -618,8 +654,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                     diagnoseDetail.setVerifyCode(bean.getCode());
                     param.setFlag(HasQuestionEnum.HAS_QUESTION.getKey());
                     // 不需要添加问题词
-//                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
-//                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
+//                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
+//                              diagnoseWrapper.getDisName(), bean.getType(),
+//                              bean.getCode(), DiagnoseFieldEnum.code.getKey(), param, ++j);
 //                    if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
 //                        diagnoseQuestionList.add(diagnoseQuestion);
 //                    }
@@ -632,7 +669,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 flag = verifyExist(set, bean.getStandard(), typeList);
                 if (!flag) {
                     diagnoseDetail.setVerifyStandard(bean.getStandard());
-                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
+                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
+                            diagnoseWrapper.getDisName(), bean.getType(),
                             bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), param, ++j);
                     if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
                         diagnoseQuestionList.add(diagnoseQuestion);
@@ -644,13 +682,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             if (StringUtil.isNotEmpty(bean.getRelation())) {
                 String[] arr = bean.getRelation().split("、");
                 StringBuffer sb = new StringBuffer();
-                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
+                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                        DiagnoseFieldEnum.relation.getKey());
                 for (String s : arr) {
                     flag = verifyExist(set, s.trim(), typeList);
                     if (!flag) {
                         sb.append(s).append("、");
-                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
-                                s.trim(), DiagnoseFieldEnum.relation.getKey(), param, ++j);
+                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
+                                diagnoseWrapper.getDisName(), bean.getType(), s.trim(),
+                                DiagnoseFieldEnum.relation.getKey(), param, ++j);
                         if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
                             diagnoseQuestionList.add(diagnoseQuestion);
                         }
@@ -658,7 +698,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 }
                 String errWord = sb.toString();
                 if (StringUtil.isNotEmpty(errWord)) {
-                    diagnoseDetail.setVerifyRelation(errWord.substring(0, errWord.length()-1));
+                    diagnoseDetail.setVerifyRelation(errWord.substring(0, errWord.length() - 1));
                 } else {
                     diagnoseDetail.setVerifyRelation(""); // 将原值清空
                 }
@@ -668,13 +708,15 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             if (StringUtil.isNotEmpty(bean.getResult())) {
                 String[] arr = bean.getResult().split("、");
                 StringBuffer sb = new StringBuffer();
-                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
+                typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(),
+                        DiagnoseFieldEnum.result.getKey());
                 for (String s : arr) {
                     flag = verifyExist(set, s.trim(), typeList);
                     if (!flag) {
                         sb.append(s).append("、");
-                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
-                                s.trim(), DiagnoseFieldEnum.result.getKey(), param, ++j);
+                        DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(),
+                                diagnoseWrapper.getDisName(), bean.getType(), s.trim(),
+                                DiagnoseFieldEnum.result.getKey(), param, ++j);
                         if (addDiagnoseQuestion(questionSet, diagnoseQuestion)) {
                             diagnoseQuestionList.add(diagnoseQuestion);
                         }
@@ -682,7 +724,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 }
                 String errWord = sb.toString();
                 if (StringUtil.isNotEmpty(errWord)) {
-                    diagnoseDetail.setVerifyResult(errWord.substring(0, errWord.length()-1));
+                    diagnoseDetail.setVerifyResult(errWord.substring(0, errWord.length() - 1));
                 } else {
                     diagnoseDetail.setVerifyResult(""); // 将原值清空
                 }
@@ -698,14 +740,16 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
 
 
     /**
-     *  处理诊断公式业务(校验公式)
+     * 处理诊断公式业务(校验公式)
      *
      * @param diagnoseWrapper
      * @param param
      * @return
      */
-    public void doDisFormula(DiagnoseWrapper diagnoseWrapper, CommonParam param, List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
-        List<String> codeList = diagnoseWrapper.getDisFeature().stream().map(row -> row.getCode()).distinct().collect(Collectors.toList());
+    public void doDisFormula(DiagnoseWrapper diagnoseWrapper, CommonParam param,
+                             List<DiagnoseDetail> diagnoseDetailList, List<DiagnoseQuestion> diagnoseQuestionList) {
+        List<String> codeList = diagnoseWrapper.getDisFeature().stream().map(row -> row.getCode()).distinct()
+                .collect(Collectors.toList());
         codeList.add("拟诊");  // 添加拟诊的编码
         int i = param.getI();
         int j = param.getJ();
@@ -736,7 +780,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
 
 
     /**
-     *  更新主表业务(同时删除明细表和问题词表)
+     * 更新主表业务(同时删除明细表和问题词表)
      *
      * @param diagnoseWrapper
      * @param param
@@ -752,7 +796,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         }
 //        Diagnose bean = this.getOne(queryWrapper, false);
         if (this.count(queryWrapper) > 0) {
-            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR,"当前疾病的诊断依据已存在!");
+            throw new CommonException(CommonErrorCode.SERVER_IS_ERROR, "当前疾病的诊断依据已存在!");
         }
 
         Diagnose diagnose = new Diagnose();
@@ -783,7 +827,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      * @param updateDiagnoseVO
      * @return
      */
-    public void  updateNeo(UpdateDiagnoseVO updateDiagnoseVO) {
+    public void updateNeo(UpdateDiagnoseVO updateDiagnoseVO) {
         // 更新时间
         this.update(new UpdateWrapper<Diagnose>()
                 .eq("id", updateDiagnoseVO.getId())
@@ -815,13 +859,13 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
     /**
      * 校验词库中是否存在
      *
-     * @param set 词库数据
+     * @param set  词库数据
      * @param name 界面输入
      * @param type 转换类型
      * @return 校验结果
      */
     public boolean verifyExist(Set<String> set, String name, List<Integer> type) {
-        for(Integer integer : type) {
+        for (Integer integer : type) {
             if (set.contains(name + "_" + integer)) {
                 return true;
             }
@@ -839,7 +883,8 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
      * @param commonParam
      * @return
      */
-    public DiagnoseQuestion createDiagnoseQuestion(Long diagnoseId, String disName, Integer type, String questionName, Integer questionType, CommonParam commonParam, Integer orderNo) {
+    public DiagnoseQuestion createDiagnoseQuestion(Long diagnoseId, String disName, Integer type, String questionName,
+                                                   Integer questionType, CommonParam commonParam, Integer orderNo) {
         DiagnoseQuestion dq = new DiagnoseQuestion();
         dq.setCreator(commonParam.getPerson());
         dq.setGmtCreate(commonParam.getNow());
@@ -854,4 +899,9 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         return dq;
     }
 
+    public static void main(String[] args) {
+        String str = "1.3/1.4";
+        String regex = "(.*3\\.1)|(.*3\\.1\\D.*)";
+        System.out.println(str.matches(regex));
+    }
 }