Prechádzať zdrojové kódy

修改规则判断代码lis部分代码

hujing 5 rokov pred
rodič
commit
c3de56276f

+ 0 - 1
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/Pretreatment.java

@@ -16,7 +16,6 @@ import java.util.List;
  */
 public abstract class Pretreatment {
     protected NegativeEnum[] nees_time_and_unit = new NegativeEnum[]{NegativeEnum.EVENT_TIME, NegativeEnum.UNIT};
-    protected NegativeEnum[] lisResult = new NegativeEnum[]{NegativeEnum.LIS_RESULT};
 
     protected int cursor = 0;
 

+ 7 - 38
common-push/src/main/java/org/diagbot/common/push/filter/pretreat/PretreatmentLis.java

@@ -8,12 +8,11 @@ import org.diagbot.nlp.participle.word.LexemePath;
 import org.diagbot.nlp.util.NegativeEnum;
 import org.diagbot.nlp.util.NlpUtil;
 
-import java.lang.reflect.Array;
-import java.util.ArrayList;
 import java.util.List;
 
 public class PretreatmentLis extends Pretreatment {
     private String join_symbols = ";:;:";
+    protected NegativeEnum[] lisResult = new NegativeEnum[]{NegativeEnum.LIS_RESULT};
 
     public List<PreResult> analyze(String content) throws java.io.IOException {
         List<PreResult> preResults = super.analyzeDefault(content);
@@ -21,8 +20,11 @@ public class PretreatmentLis extends Pretreatment {
         for (int i = 0; i < lexemes.size(); i++) {
             Lexeme l = lexemes.get(i);
             if (NlpUtil.isFeature(l.getProperty(), lisResult)) {
-                PreResult result = createPreResultNoValue(lexemes, i);
+                cursor = i;
+                PreResult result = new PreResult();
+                result = findPreResultPub(lexemes, result);
                 if (result != null) {
+                    result.setValue(l.getText());
                     preResults.add(result);
                 }
             }
@@ -36,20 +38,10 @@ public class PretreatmentLis extends Pretreatment {
         if (value == -1) return null;
         result.setValue(String.valueOf(value));
         result.setUnits(lexeme.getText());
-        return getPreResultPub(lexemes, result);
+        return findPreResultPub(lexemes, result);
     }
 
-    public PreResult createPreResultNoValue(LexemePath<Lexeme> lexemes, int index) {
-        PreResult result = new PreResult();
-        String lisResult = findLisResult(lexemes, index);
-        if (StringUtils.isEmpty(lisResult)) {
-            return null;
-        }
-        result.setValue(lisResult);
-        return getPreResultPub(lexemes, result);
-    }
-
-    public PreResult getPreResultPub(LexemePath<Lexeme> lexemes, PreResult result) {
+    public PreResult findPreResultPub(LexemePath<Lexeme> lexemes, PreResult result) {
         //继续往前找化验明细项
         if (cursor > 0) cursor--;
         Lexeme leftLexeme = lexemes.get(cursor);
@@ -82,29 +74,6 @@ public class PretreatmentLis extends Pretreatment {
         return result;
     }
 
-    protected String findLisResult(LexemePath<Lexeme> lexemes, int index) {
-        if (index < 1) return null;
-        cursor = index;
-        Lexeme leftLexeme = lexemes.get(cursor);
-        if ("×".equals(leftLexeme.getText())) {
-            if  (cursor <= 0) return null;
-            cursor--;
-            leftLexeme = lexemes.get(cursor);
-        }
-        if (isLisResult(leftLexeme)) {
-            return leftLexeme.getText();
-        }
-        return null;
-    }
-
-    public static boolean isLisResult(Lexeme l) {
-        if (l == null) return false;
-        if (NlpUtil.isFeature(l.getProperty(), new NegativeEnum[]{NegativeEnum.LIS_RESULT})) {
-            return true;
-        }
-        return false;
-    }
-
     public String findBodyValue(LexemePath<Lexeme> lexemes, Lexeme lexeme, int index) {
         return null;
     }