|
@@ -0,0 +1,59 @@
|
|
|
+package com.winhc.bigdata.udf;
|
|
|
+
|
|
|
+import com.aliyun.odps.udf.UDF;
|
|
|
+import com.aliyun.odps.utils.StringUtils;
|
|
|
+
|
|
|
+import java.util.regex.Pattern;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author: XuJiakai
|
|
|
+ * 2021/1/27 15:36
|
|
|
+ */
|
|
|
+@SuppressWarnings("all")
|
|
|
+public class RegStatusStdTrim extends UDF {
|
|
|
+ private static final Pattern pattern = Pattern.compile("[^\\u4e00-\\u9fa5]");
|
|
|
+
|
|
|
+ public String evaluate(String reg_status, String reg_status_std) {
|
|
|
+ String std = get_std(reg_status_std);
|
|
|
+ if (std == null) {
|
|
|
+ std = get_std(reg_status);
|
|
|
+ }
|
|
|
+ if (std == null && StringUtils.isNotBlank(reg_status_std)) {
|
|
|
+ return reg_status_std;
|
|
|
+ }
|
|
|
+ return std;
|
|
|
+ }
|
|
|
+
|
|
|
+ private static String get_std(String str) {
|
|
|
+ if (StringUtils.isEmpty(str)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ String reg_status_clear = pattern.matcher(str).replaceAll("");
|
|
|
+ if (StringUtils.isEmpty(reg_status_clear)) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ if (reg_status_clear.contains("在业") || reg_status_clear.contains("存续") || reg_status_clear.contains("正常") || reg_status_clear.contains("注册") || reg_status_clear.contains("开业") || reg_status_clear.contains("成立中")) {
|
|
|
+ return "在业/存续";
|
|
|
+ } else if (reg_status_clear.contains("吊销")) {
|
|
|
+ return "吊销";
|
|
|
+ } else if (reg_status_clear.contains("注销")) {
|
|
|
+ return "注销";
|
|
|
+ } else if (reg_status_clear.contains("成立中") || reg_status_clear.contains("申请中") || reg_status_clear.contains("设立中")) {
|
|
|
+ return "筹建";
|
|
|
+ } else if (reg_status_clear.contains("清算")) {
|
|
|
+ return "清算";
|
|
|
+ } else if (reg_status_clear.contains("迁入")) {
|
|
|
+ return "迁入";
|
|
|
+ } else if (reg_status_clear.contains("迁他") || reg_status_clear.contains("迁出")) {
|
|
|
+ return "迁出";
|
|
|
+ } else if (reg_status_clear.contains("停业") || reg_status_clear.contains("停工") || reg_status_clear.contains("歇业")) {
|
|
|
+ return "停业";
|
|
|
+ } else if (reg_status_clear.contains("撤销")) {
|
|
|
+ return "撤销";
|
|
|
+ } else if (reg_status_clear.equals("其他")) {
|
|
|
+ return null;
|
|
|
+ } else {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|