|
@@ -0,0 +1,70 @@
|
|
|
+package com.winhc.bigdata.udf;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.aliyun.odps.udf.UDF;
|
|
|
+
|
|
|
+
|
|
|
+import static org.apache.commons.lang.StringUtils.*;
|
|
|
+
|
|
|
+import java.util.*;
|
|
|
+
|
|
|
+/**
|
|
|
+ * @author ZhangJi
|
|
|
+ * @since 2022-05-18 10:55
|
|
|
+ */
|
|
|
+public class CompanyOrgTypeNew extends UDF {
|
|
|
+ private static final List<String> FOREIGN = Arrays.asList("中外", "外资", "外国", "外商");
|
|
|
+ private static final List<String> CHINA = Arrays.asList("国有", "国资");
|
|
|
+
|
|
|
+ public String evaluate(String company_org_type, String company_name, String credit_code) {
|
|
|
+ if (isEmpty(company_name)) return null;
|
|
|
+//分公司判断
|
|
|
+ if (contains(company_org_type, "分公司") || endsWith(company_name, "分公司")) {
|
|
|
+ return JSON.toJSONString(Collections.singletonList("分公司"));
|
|
|
+ }
|
|
|
+
|
|
|
+//工商注册类型判断
|
|
|
+ Set<String> result = new HashSet<>();
|
|
|
+ if (contains(company_org_type, "股份") && !contains(company_org_type, "合作") && contains(company_name, "公司")) {
|
|
|
+ result.add("股份有限公司");
|
|
|
+ } else if (contains(company_org_type, "有限责任") || contains(company_name, "有限责任公司") || contains(company_name, "有限公司")) {
|
|
|
+ result.add("有限责任公司");
|
|
|
+ } else if (contains(company_org_type, "股份合作")) {
|
|
|
+ result.add("股份合作企业");
|
|
|
+ } else if (contains(company_org_type, "个体") || contains(company_org_type, "个人经营")) {
|
|
|
+ result.add("个体工商户");
|
|
|
+ } else if (contains(company_org_type, "专业合作社") || contains(company_name, "专业合作社") || startsWith(credit_code, "93")) {
|
|
|
+ result.add("农民专业合作社");
|
|
|
+ } else if (contains(company_org_type, "集体")) {
|
|
|
+ result.add("集体所有制");
|
|
|
+ } else if (contains(company_org_type, "合伙")) {
|
|
|
+ if (company_org_type.contains("有限")) {
|
|
|
+ result.add("有限合伙");
|
|
|
+ } else if (company_org_type.contains("普通")) {
|
|
|
+ result.add("普通合伙");
|
|
|
+ }
|
|
|
+ } else if (contains(company_org_type, "联营")) {
|
|
|
+ result.add("联营企业");
|
|
|
+ }
|
|
|
+ // 资金类型
|
|
|
+ if (containsAny(company_org_type, "港澳台")) {
|
|
|
+ result.add("港、澳、台商投资企业");
|
|
|
+ } else if (FOREIGN.stream().anyMatch(s -> contains(company_org_type, s))) {
|
|
|
+ result.add("外商投资企业");
|
|
|
+ } else if (CHINA.stream().anyMatch(s -> contains(company_org_type, s))) {
|
|
|
+ result.add("国有企业");
|
|
|
+ }
|
|
|
+ //特殊类型
|
|
|
+ if (contains(company_org_type, "独资")) {
|
|
|
+ result.add("独资企业");
|
|
|
+ }
|
|
|
+ if (result.isEmpty()) {
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+ return JSON.toJSONString(result);
|
|
|
+ }
|
|
|
+
|
|
|
+ public static void main(String[] args) {
|
|
|
+ System.out.println(new CompanyOrgTypeNew().evaluate("分公司", "雅诗兰黛(上海)商贸有限公司北京分公司", "91110105MA01Q19Q2L"));
|
|
|
+ }
|
|
|
+}
|