rengb vor 5 Jahren
Ursprung
Commit
d95adcbf01

+ 28 - 2
kernel/src/main/java/com/lantone/qc/kernel/catalogue/behospitalized/BEH0058.java

@@ -1,12 +1,19 @@
 package com.lantone.qc.kernel.catalogue.behospitalized;
 
+import com.google.common.collect.Lists;
 import com.lantone.qc.kernel.catalogue.QCCatalogue;
 import com.lantone.qc.pub.model.InputInfo;
 import com.lantone.qc.pub.model.OutputInfo;
+import com.lantone.qc.pub.model.entity.Family;
+import com.lantone.qc.pub.util.ListUtil;
+import com.lantone.qc.pub.util.StringUtil;
 import org.springframework.stereotype.Component;
 
+import java.util.List;
+import java.util.regex.Pattern;
+
 /**
- * @Description:
+ * @Description: 子女数量情况未描述
  * @author: rengb
  * @time: 2020/3/10 14:02
  */
@@ -15,6 +22,25 @@ public class BEH0058 extends QCCatalogue {
 
     @Override
     public void start(InputInfo inputInfo, OutputInfo outputInfo) {
+        List<Family> familyList = Lists.newArrayList();
+        List<Family> familiesFl = inputInfo.getBeHospitalizedDoc().getFamilyLabel().getFamilies();
+        List<Family> familiesMl = inputInfo.getBeHospitalizedDoc().getMaritalLabel().getFamily();
+        if (ListUtil.isNotEmpty(familiesFl)) {
+            familyList.addAll(familiesFl);
+        }
+        if (ListUtil.isNotEmpty(familiesMl)) {
+            familyList.addAll(familiesMl);
+        }
 
+        Pattern p = Pattern.compile("[儿子女]");
+        long count = familyList
+                .stream()
+                .map(i -> i.getName())
+                .filter(i -> StringUtil.isNotBlank(i) && StringUtil.isContainNumber(i) && p.matcher(i).find())
+                .count();
+        if (count > 0) {
+            status = "0";
+        }
     }
-}
+
+}

+ 17 - 0
public/src/main/java/com/lantone/qc/pub/util/StringUtil.java

@@ -6,6 +6,8 @@ import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.List;
 import java.util.Set;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
 
 /**
  * @Description: 字符串有关帮助类 封装了第三方帮助类
@@ -120,6 +122,21 @@ public class StringUtil {
         return ret;
     }
 
+    /**
+     * 判断字符串是否包含数字
+     *
+     * @param company
+     * @return
+     */
+    public static boolean isContainNumber(String company) {
+        Pattern p = Pattern.compile("[0-9]");
+        Matcher m = p.matcher(company);
+        if (m.find()) {
+            return true;
+        }
+        return false;
+    }
+
     /**
      * 比较两个字符串集合是否内容一样,即A包含B,B包含A,交集为空
      * 个数、顺序不考虑