Przeglądaj źródła

给症状添加标准词部分修改bug

hujing 6 lat temu
rodzic
commit
29f3e97de3

+ 40 - 36
bigdata-web/src/main/java/org/diagbot/bigdata/work/ParamsDataProxy.java

@@ -333,53 +333,57 @@ public class ParamsDataProxy {
     //将标准词中体征指标值(数字)与分词结果中体征指标值(数字)比较
     private void judgment(SearchData sData, String[] features, Map<String, String> standWordMap) {
         if (hasDigit(features[1])) {
-            if (">".equals(standWordMap.get("op"))) {
-                //单独处理  血压≥140/90mmHg   类似情况
-                if (features[1].contains("/")) {
-                    if (standWordMap.get("value").contains("/")) {
-                        String[] feature = features[1].split("/");
-                        Integer featuresSBP = Integer.valueOf(feature[0]); //分词特征收缩压
-                        Integer featuresDBP = Integer.valueOf(feature[1]); //分词特征舒张压
+            try {
+                if (">".equals(standWordMap.get("op"))) {
+                    //单独处理  血压≥140/90mmHg   类似情况
+                    if (features[1].contains("/")) {
+                        if (standWordMap.get("value").contains("/")) {
+                            String[] feature = features[1].split("/");
+                            Integer featuresSBP = Integer.valueOf(feature[0]); //分词特征收缩压
+                            Integer featuresDBP = Integer.valueOf(feature[1]); //分词特征舒张压
 
-                        String[] values = standWordMap.get("value").split("/");
-                        Integer standWordSBP = Integer.valueOf(values[0]); //标准词收缩压
-                        Integer standWordDBP = Integer.valueOf(values[1]); //标准词舒张压
-                        if (featuresSBP > standWordSBP && featuresDBP > standWordDBP) {
+                            String[] values = standWordMap.get("value").split("/");
+                            Integer standWordSBP = Integer.valueOf(values[0]); //标准词收缩压
+                            Integer standWordDBP = Integer.valueOf(values[1]); //标准词舒张压
+                            if (featuresSBP > standWordSBP && featuresDBP > standWordDBP) {
+                                sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
+                                System.out.println(sData.getSymptom());
+                            }
+                        }
+                    } else {
+                        String num = getNum(standWordMap.get("value"));
+                        if (Double.valueOf(getNum(features[1])) > Double.valueOf(num)) {
                             sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
                             System.out.println(sData.getSymptom());
-                        }
-                    }
-                } else {
-                    String num = getNum(standWordMap.get("value"));
-                    if (Double.valueOf(getNum(features[1])) > Double.valueOf(num)) {
-                        sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
-                        System.out.println(sData.getSymptom());
 
+                        }
                     }
-                }
-            } else if ("<".equals(standWordMap.get("op"))) {
-                //单独处理  血压小于90/60mmHg   类似情况
-                if (standWordMap.get("value").contains("/")) {
-                    if (features[1].contains("/")) {
-                        String[] feature = features[1].split("/");
-                        Integer featuresSBP = Integer.valueOf(feature[0]); //收缩压
-                        Integer featuresDBP = Integer.valueOf(feature[1]); //舒张压
+                } else if ("<".equals(standWordMap.get("op"))) {
+                    //单独处理  血压小于90/60mmHg   类似情况
+                    if (standWordMap.get("value").contains("/")) {
+                        if (features[1].contains("/")) {
+                            String[] feature = features[1].split("/");
+                            Integer featuresSBP = Integer.valueOf(feature[0]); //收缩压
+                            Integer featuresDBP = Integer.valueOf(feature[1]); //舒张压
 
-                        String[] values = standWordMap.get("value").split("/");
-                        Integer standWordSBP = Integer.valueOf(values[0]); //收缩压
-                        Integer standWordDBP = Integer.valueOf(values[1]); //舒张压
-                        if (featuresSBP < standWordSBP && featuresDBP < standWordDBP) {
+                            String[] values = standWordMap.get("value").split("/");
+                            Integer standWordSBP = Integer.valueOf(values[0]); //收缩压
+                            Integer standWordDBP = Integer.valueOf(values[1]); //舒张压
+                            if (featuresSBP < standWordSBP && featuresDBP < standWordDBP) {
+                                sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
+                                System.out.println(sData.getSymptom());
+                            }
+                        }
+                    } else {
+                        String num = getNum(standWordMap.get("value"));
+                        if (Double.valueOf(getNum(features[1])) < Double.valueOf(num)) {
                             sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
                             System.out.println(sData.getSymptom());
                         }
                     }
-                } else {
-                    String num = getNum(standWordMap.get("value"));
-                    if (Double.valueOf(getNum(features[1])) < Double.valueOf(num)) {
-                        sData.setSymptom(sData.getSymptom() + "," + standWordMap.get("standword"));
-                        System.out.println(sData.getSymptom());
-                    }
                 }
+            }catch (NumberFormatException e){
+                e.printStackTrace();
             }
         }
     }