浏览代码

规则更新

rengb 5 年之前
父节点
当前提交
3d447f866a

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0042.java

@@ -9,6 +9,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.regex.Pattern;
 
 /**
  * @Description: 出生地未描述
@@ -20,9 +21,20 @@ public class BEH0042 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        String text = inputInfo.getBeHospitalizedDoc().getPersonalLabel().getText();
+        if (StringUtil.isBlank(text)) {
+            return;
+        }
         List<Address> addresses = inputInfo.getBeHospitalizedDoc().getPersonalLabel().getAddresses();
         if (ListUtil.isNotEmpty(addresses)) {
-            long count = addresses.stream().map(i -> i.getName()).filter(i -> StringUtil.isNotBlank(i) && i.indexOf("出生") != -1).count();
+            long count = addresses.stream().filter(i -> {
+                boolean flag = false;
+                if (i != null && StringUtil.isNotBlank(i.getName())) {
+                    Pattern pattern = Pattern.compile("[\\s\\S]*(出生|生长)[\\s\\S]{0,5}" + i.getName() + "[\\s\\S]*");
+                    flag = pattern.matcher(text).matches();
+                }
+                return flag;
+            }).count();
             if (count > 0) {
                 status = "0";
             }

+ 13 - 1
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0043.java

@@ -9,6 +9,7 @@ import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
 import java.util.List;
+import java.util.regex.Pattern;
 
 /**
  * @Description: 居住地未描述
@@ -20,9 +21,20 @@ public class BEH0043 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        String text = inputInfo.getBeHospitalizedDoc().getPersonalLabel().getText();
+        if (StringUtil.isBlank(text)) {
+            return;
+        }
         List<Address> addresses = inputInfo.getBeHospitalizedDoc().getPersonalLabel().getAddresses();
         if (ListUtil.isNotEmpty(addresses)) {
-            long count = addresses.stream().map(i -> i.getName()).filter(i -> StringUtil.isNotBlank(i) && i.indexOf("居住") != -1).count();
+            long count = addresses.stream().filter(i -> {
+                boolean flag = false;
+                if (i != null && StringUtil.isNotBlank(i.getName())) {
+                    Pattern pattern = Pattern.compile("[\\s\\S]*(居住|生长)[\\s\\S]{0,5}" + i.getName() + "[\\s\\S]*");
+                    flag = pattern.matcher(text).matches();
+                }
+                return flag;
+            }).count();
             if (count > 0) {
                 status = "0";
             }