Browse Source

校验编码

zhoutg 5 years ago
parent
commit
94acaf7396

+ 18 - 9
knowledgeman-service/src/main/java/com/diagbot/facade/DiagnoseFacade.java

@@ -34,6 +34,7 @@ import com.diagbot.util.DiagnoseTypeConvertUtil;
 import com.diagbot.util.ListUtil;
 import com.diagbot.util.RespDTOUtil;
 import com.diagbot.util.StringUtil;
+import com.diagbot.util.VerifyUtil;
 import com.diagbot.vo.DeleteDiagnoseVO;
 import com.diagbot.vo.DiagnosePageVO;
 import com.diagbot.vo.DiseaseIndexVO;
@@ -209,9 +210,11 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         // 判断诊断名称是否在词库中
         boolean flag = true;
         flag = verifyExist(libraryForDiagnoseDTOS, diagnoseWrapper.getDisName(), Arrays.asList(LexiconTypeEnum.DIAGNOSIS.getKey()));
-        DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
-                diagnoseWrapper.getDisName(), DiagnoseFieldEnum.disName.getKey(), initCommonParam(), ++j);
-        diagnoseQuestionList.add(diagnoseQuestion1);
+        if (!flag) {
+            DiagnoseQuestion diagnoseQuestion1 = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), DiagnoseFeatureTypeEnum.Dis.getKey(),
+                    diagnoseWrapper.getDisName(), DiagnoseFieldEnum.disName.getKey(), initCommonParam(), ++j);
+            diagnoseQuestionList.add(diagnoseQuestion1);
+        }
 
         // 遍历诊断特征
         for (DiagnoseDetailSave bean : diagnoseWrapper.getDisFeature()) {
@@ -227,14 +230,22 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
             List<Integer> typeList = new ArrayList<>();
 
             // 校验编码
-            // TODO
+            if (StringUtil.isNotEmpty(bean.getCode())) {
+                flag = VerifyUtil.verifyCode(String.valueOf(bean.getType()), bean.getCode());
+                if (!flag) {
+                    diagnoseDetail.setVerifyCode(String.valueOf(HasQuestionEnum.HAS_QUESTION.getKey()));
+                    DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
+                            bean.getCode(), DiagnoseFieldEnum.code.getKey(), initCommonParam(), ++j);
+                    diagnoseQuestionList.add(diagnoseQuestion);
+                }
+            }
 
             // 校验标准词
             if (StringUtil.isNotEmpty(bean.getStandard())) {
                 typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.standard.getKey());
                 flag = verifyExist(libraryForDiagnoseDTOS, bean.getStandard(), typeList);
                 if (!flag) {
-                    diagnoseDetail.setVerifyStandard("1");
+                    diagnoseDetail.setVerifyStandard(String.valueOf(HasQuestionEnum.HAS_QUESTION.getKey()));
                     DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
                             bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), initCommonParam(), ++j);
                     diagnoseQuestionList.add(diagnoseQuestion);
@@ -248,7 +259,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                     typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.relation.getKey());
                     flag = verifyExist(libraryForDiagnoseDTOS, s.trim(), typeList);
                     if (!flag) {
-                        diagnoseDetail.setVerifyRelation("1");
+                        diagnoseDetail.setVerifyRelation(String.valueOf(HasQuestionEnum.HAS_QUESTION.getKey()));
                         DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
                                 s.trim(), DiagnoseFieldEnum.relation.getKey(), initCommonParam(), ++j);
                         diagnoseQuestionList.add(diagnoseQuestion);
@@ -261,7 +272,7 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
                 typeList = DiagnoseTypeConvertUtil.diagnoseType2LibType(bean.getType(), DiagnoseFieldEnum.result.getKey());
                 flag = verifyExist(libraryForDiagnoseDTOS, bean.getResult(), typeList);
                 if (!flag) {
-                    diagnoseDetail.setVerifyResult("1");
+                    diagnoseDetail.setVerifyResult(String.valueOf(HasQuestionEnum.HAS_QUESTION.getKey()));
                     DiagnoseQuestion diagnoseQuestion = createDiagnoseQuestion(diagnoseWrapper.getId(), diagnoseWrapper.getDisName(), bean.getType(),
                             bean.getStandard(), DiagnoseFieldEnum.standard.getKey(), initCommonParam(), ++j);
                     diagnoseQuestionList.add(diagnoseQuestion);
@@ -416,6 +427,4 @@ public class DiagnoseFacade extends DiagnoseServiceImpl {
         return dq;
     }
 
-
-
 }

+ 32 - 0
knowledgeman-service/src/main/java/com/diagbot/util/VerifyUtil.java

@@ -0,0 +1,32 @@
+package com.diagbot.util;
+
+import java.util.regex.Pattern;
+
+/**
+ * @description: 校验工具类
+ * @author: zhoutg
+ * @time: 2019/8/12 14:44
+ */
+public class VerifyUtil {
+
+
+    /**
+     *  校验编码是否正确,
+     *
+     * @param type 诊断依据类型
+     * @param val 值 ,如:1.1,1.99,点后最多2位
+     * @return 校验结果
+     */
+    public static boolean verifyCode(String type, String val) {
+        if (StringUtil.isEmpty(type)) {
+            return false;
+        }
+        String regex = type + "\\.[1-9]\\d?";
+        return Pattern.matches(regex, val);
+    }
+
+
+    public static void main(String[] args) {
+        System.out.println(verifyCode("1", "1.01"));
+    }
+}