|
@@ -0,0 +1,126 @@
|
|
|
+package subject_util
|
|
|
+
|
|
|
+import (
|
|
|
+ qu "qfw/util"
|
|
|
+ "strconv"
|
|
|
+ "strings"
|
|
|
+)
|
|
|
+
|
|
|
+var typeMap = map[string]string{
|
|
|
+ "有限责任公司(国有独资)": "国企", "有限责任公司(外商投资企业投资)": "外企", "有限责任公司(外商投资企业合资)": "外企", "有限责任公司(外商投资企业与内资合资)": "外企",
|
|
|
+ "有限责任公司(外商投资企业法人独资)": "外企", "有限责任公司(自然人投资或控股)": "民企", "有限责任公司(国有控股)": "国企", "一人有限责任公司": "民企",
|
|
|
+ "有限责任公司(自然人独资)": "民企", "有限责任公司(自然人投资或控股的法人独资)": "民企", "有限责任公司(非自然人投资或控股的法人独资)": "民企",
|
|
|
+ "股份有限公司(上市、外商投资企业投资)": "外企", "股份有限公司(上市、自然人投资或控股)": "民企", "股份有限公司(上市、国有控股)": "国企", "其他股份有限公司(上市)": "民企",
|
|
|
+ "股份有限公司(非上市、外商投资企业投资)": "外企", "股份有限公司(非上市、自然人投资或控股)": "民企", "股份有限公司(非上市、国有控股)": "国企",
|
|
|
+ "有限责任公司分公司(国有独资)": "国企", "有限责任公司分公司(外商投资企业投资)": "外企", "有限责任公司分公司(外商投资企业合资)": "外企",
|
|
|
+ "有限责任公司分公司(外商投资企业与内资合资)": "外企", "有限责任公司分公司(外商投资企业法人独资)": "外企", "有限责任公司分公司(自然人投资或控股)": "民企",
|
|
|
+ "有限责任公司分公司(国有控股)": "国企", "一人有限责任公司分公司": "民企", "有限责任公司分公司(自然人独资)": "民企", "有限责任公司分公司(自然人投资或控股的法人独资)": "民企",
|
|
|
+ "有限责任公司分公司(非自然人投资或控股的法人独资)": "民企", "股份有限公司分公司(上市、外商投资企业投资)": "外企", "股份有限公司分公司(上市、自然人投资或控股)": "民企",
|
|
|
+ "股份有限公司分公司(上市、国有控股)": "国企", "其他股份有限公司分公司(上市)": "民企", "股份有限公司分公司(非上市、外商投资企业投资)": "外企",
|
|
|
+ "股份有限公司分公司(非上市、自然人投资或控股)": "民企", "股份有限公司分公司(国有控股)": "国企", "内资企业法人": "民企", "全民所有制": "国企", "集体所有制": "集体",
|
|
|
+ "股份制": "民企", "股份合作制": "民企", "事业单位营业": "事业单位", "国有事业单位营业": "事业单位", "集体事业单位营业": "事业单位", "社团法人营业": "社团",
|
|
|
+ "国有社团法人营业": "社团", "集体社团法人营业": "社团", "全民所有制分支机构(非法人)": "国企", "集体分支机构(非法人)": "集体", "股份制分支机构": "民企",
|
|
|
+ "股份合作制分支机构": "民企", "国有经营单位(非法人)": "国企", "集体经营单位(非法人)": "集体", "非公司私营企业": "民企", "合伙企业": "民企", "普通合伙企业": "民企",
|
|
|
+ "特殊普通合伙企业": "民企", "有限合伙企业": "民企", "个人独资企业": "民企", "合伙企业分支机构": "民企", "普通合伙企业分支机构": "民企",
|
|
|
+ "特殊普通合伙企业分支机构": "民企", "有限合伙企业分支机构": "民企", "个人独资企业分支机构": "民企", "股份制企业(非法人)": "民企", "外商投资企业": "外企",
|
|
|
+ "有限责任公司(中外合资)": "外企", "有限责任公司(中外合作)": "外企", "有限责任公司(外商合资)": "外企", "有限责任公司(外国自然人独资)": "外企",
|
|
|
+ "有限责任公司(外国法人独资)": "外企", "有限责任公司(外国非法人经济组织独资)": "外企", "股份有限公司(中外合资、未上市)": "外企", "股份有限公司(中外合资、上市)": "外企",
|
|
|
+ "股份有限公司(外商合资、未上市)": "外企", "股份有限公司(外商合资、上市)": "外企", "非公司外商投资企业(中外合作)": "外企", "外商投资合伙企业": "外企",
|
|
|
+ "外商投资企业分支机构": "外企", "非公司外商投资企业分支机构": "外企", "外商投资合伙企业分支机构": "外企", "港、澳、台投资企业": "港澳台企",
|
|
|
+ "有限责任公司(港澳台与境内合资)": "港澳台企", "有限责任公司(港澳台与境内合作)": "港澳台企", "有限责任公司(港澳台合资)": "港澳台企",
|
|
|
+ "有限责任公司(港澳台自然人独资)": "港澳台企", "有限责任公司(港澳台法人独资)": "港澳台企", "有限责任公司(港澳台非法人经济组织独资)": "港澳台企",
|
|
|
+ "有限责任公司(港澳台与外国投资者合资)": "港澳台企", "股份有限公司(港澳台与境内合资、未上市)": "港澳台企", "股份有限公司(港澳台与境内合资、上市)": "港澳台企",
|
|
|
+ "股份有限公司(港澳台合资、未上市)": "港澳台企", "股份有限公司(港澳台合资、上市)": "港澳台企", "股份有限公司(港澳台与外国投资者合资、未上市)": "港澳台企",
|
|
|
+ "股份有限公司(港澳台与外国投资者合资、上市)": "港澳台企", "非公司港、澳、台企业(港澳台与境内合作)": "港澳台企", "非公司港、澳、台企业(港澳台合资)": "港澳台企",
|
|
|
+ "港、澳、台投资合伙企业": "港澳台企", "港、澳、台投资企业分支机构": "港澳台企", "非公司港、澳、台投资企业分支机构": "港澳台企", "港、澳、台投资合伙企业分支机构": "港澳台企",
|
|
|
+ "外国(地区)企业": "外企", "外国(地区)公司分支机构": "外企", "外国(地区)无限责任公司分支机构": "外企", "外国(地区)有限责任公司分支机构": "外企",
|
|
|
+ "外国(地区)股份有限责任公司分支机构": "外企", "外国(地区)其他形式公司分支机构": "外企", "外国(地区)企业常驻代表机构": "外企", "外国(地区)企业在中国境内从事经营活动": "外企",
|
|
|
+ "农民专业合作社": "农民合作社", "农民专业合作社分支机构": "农民合作社", "个体工商户": "个体工商户", "有限责任公司": "民企", "民办非企业单位": "民办非企业单位",
|
|
|
+ "社会团体": "社团", "律师事务所": "律师事务所", "分公司": "民企", "事业单位": "事业单位", "有限责任公司(自然人独资)(1151)": "民企",
|
|
|
+ "有限责任公司(自然人投资或控股)(1130)": "民企", "村级集体经济组织": "集体", "外商投资企业分公司": "外企", "有限责任公司(港澳台投资、非独资)": "港澳台企",
|
|
|
+ "有限责任公司(外商投资、非独资)": "外企", "股份有限公司": "民企", "集体所有制(股份合作)": "集体", "有限责任公司(台港澳与境内合资)": "港澳台企",
|
|
|
+ "有限责任公司(非自然人投资或控股的法人独": "民企", "有限责任公司(台港澳法人独资)": "港澳台企", "有限责任公司(非自然人投资或控股的法人独资)(1153)": "民企",
|
|
|
+ "集体企业": "集体", "企业": "民企", "私营有限责任公司(自然人控股或私营性质企业控股)": "民企", "有限责任公司(台港澳合资)": "港澳台企",
|
|
|
+ "有限责任公司(自然人投资或控股的法人独资)(1152)": "民企", "股份有限公司(外商投资、未上市)": "外企", "基金会": "其他", "内资企业集团": "民企",
|
|
|
+ "普通合伙企业(4531)": "民企", "有限责任公司(法人独资,私营)": "民企", "有限责任公司(台港澳自然人独资)": "港澳台企", "有限责任公司(自然人独资)!": "民企",
|
|
|
+ "(普通合伙分支机构)": "民企", "承包工程": "其他", "非公司企业法人(股份合作制)": "民企", "非公司企业法人(集体经济)": "集体", "非公司企业法人分支机构(集体经济)": "集体",
|
|
|
+ "个人经营": "个体工商户", "股份有限公司(港澳台投资、上市)": "港澳台企", "股份有限公司(港澳台投资、未上市)": "港澳台企", "股份有限公司(台港澳与境内合资、上市)": "港澳台企",
|
|
|
+ "股份有限公司(外商投资、未上市)分公司": "外企", "股份有限公司(中外合资、未上市)分公司": "外企", "股份有限公司分公司(非上市、国有控股)": "国企", "国有企业": "国企",
|
|
|
+ "国有企业经营单位(非法人)": "国企", "合伙企业(普通合伙)": "民企", "合伙企业(有限合伙)": "民企", "集体所有制(股份合作)分支机构": "集体",
|
|
|
+ "集体所有制(股份合作)-全资设立": "集体", "联营": "其他", "内资非法人企业、非公司私营企业": "民企", "内资非法人企业、非公司私营企业及内资非公司企业分支机构": "民企",
|
|
|
+ "内资集团": "民企", "其他": "其他", "其他有限责任公司(1190)": "民企", "台、港、澳投资企业分公司": "港澳台企", "台、港、澳投资企业分支机构": "港澳台企",
|
|
|
+ "台港澳分公司": "港澳台企", "未规范的有限责任公司": "民企", "一人有限责任公司(法人独资)": "民企", "一人有限责任公司(自然人独资)": "民企",
|
|
|
+ "有限责任公司(台港澳与外国投资者合资)": "外企", "有限责任公司(中外合资)分公司": "外企", "有限责任公司(中外合资)分支机构": "外企", "有限责任公司分公司(法人独资)": "民企",
|
|
|
+ "有限责任公司分公司(自然人投资或控股)!": "民企", "组级集体经济组织": "集体", "农民专业合作经济组织": "农民合作社", "农民专业合作社(9100)": "农民合作社",
|
|
|
+ "股份有限公司(外商投资、上市)": "外企",
|
|
|
+}
|
|
|
+var typeOtherMap = map[string][]string{
|
|
|
+ "内资公司": []string{"国企", "民企"}, "其他有限责任公司": []string{"国企", "民企"}, "股份有限公司(上市)": []string{"国企", "民企"},
|
|
|
+ "股份有限公司(非上市)": []string{"国企", "民企"}, "其他股份有限公司(非上市)": []string{"国企", "民企"}, "内资分公司": []string{"国企", "民企"},
|
|
|
+ "有限责任公司分公司": []string{"国企", "民企"}, "其他有限责任公司分公司": []string{"国企", "民企"}, "股份有限公司分公司": []string{"国企", "民企"},
|
|
|
+ "股份有限公司分公司(上市)": []string{"国企", "民企"}, "股份有限公司分公司(非上市)": []string{"国企", "民企"}, "其他股份有限公司分公司(非上市)": []string{"国企", "民企"},
|
|
|
+ "内资非法人企业、非公司私营企业及内资非公司企业分支机构": []string{"国企", "其他"}, "内资企业法人分支机构(非法人)": []string{"国企", "其他"},
|
|
|
+ "经营单位(非法人)": []string{"国企", "其他"}, "集团": []string{"国企", "民企"}, "有限责任公司(法人独资)": []string{"国企", "民企"},
|
|
|
+ "有限责任公司(法人独资)": []string{"国企", "民企"}, "有限责任公司分公司(法人独资)": []string{"国企", "民企"},
|
|
|
+}
|
|
|
+var keyOtherArr = []string{"中国", "国家", "中建", "中电科", "中航", "中铁", "中核", "中船", "中石油", "中石化", "东风汽车", "鞍钢", "中铝", "中粮", "中储粮", "五矿",
|
|
|
+ "招商局", "华润", "中煤", "中盐", "矿冶科技", "中车", "中农发", "中林", "新兴际华", "中广核", "华侨城", "南光", "中远洋"}
|
|
|
+
|
|
|
+// 主要采用mgo库的数据进行校验,以及企业名字
|
|
|
+func GetCenterEnTypeValue(entData map[string]interface{}, companyName string) string {
|
|
|
+ companyTypeOld := qu.ObjToString(entData["company_type_old"])
|
|
|
+ typeNew := ""
|
|
|
+ if companyTypeOld != "" {
|
|
|
+ companyTypeOld = strings.ReplaceAll(companyTypeOld, "(", "(")
|
|
|
+ companyTypeOld = strings.ReplaceAll(companyTypeOld, ")", ")")
|
|
|
+ if len(companyTypeOld) >= 6 && isDigits(companyTypeOld[len(companyTypeOld)-5:len(companyTypeOld)-1]) {
|
|
|
+ companyTypeOld = companyTypeOld[:len(companyTypeOld)-6]
|
|
|
+ }
|
|
|
+ if typeMap[companyTypeOld] != "" {
|
|
|
+ typeNew = typeMap[companyTypeOld]
|
|
|
+ } else if typeOtherMap[companyTypeOld] != nil {
|
|
|
+ for _, key := range keyOtherArr {
|
|
|
+ isOk := false
|
|
|
+ if strings.HasPrefix(companyName, key) {
|
|
|
+ isOk = true
|
|
|
+ }
|
|
|
+ if isOk {
|
|
|
+ typeNew = typeOtherMap[companyTypeOld][0]
|
|
|
+ } else {
|
|
|
+ typeNew = typeOtherMap[companyTypeOld][1]
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // 港澳台顺序不一致,单独判断,如果同时包含港澳台的就是“港澳台企”
|
|
|
+ // 若名称最后一个字为“店”,则标注为“个体工商户”;若名称结尾为“公司”,则标注为“民企”;其余标注为“其他”
|
|
|
+ if strings.Contains(companyTypeOld, "港") && strings.Contains(companyTypeOld, "澳") && strings.Contains(companyTypeOld, "台") {
|
|
|
+ typeNew = "港澳台企"
|
|
|
+ } else if strings.HasSuffix(companyName, "店") {
|
|
|
+ typeNew = "个体工商户"
|
|
|
+ } else if strings.HasSuffix(companyName, "公司") || strings.HasSuffix(companyName, "集团") {
|
|
|
+ typeNew = "民企"
|
|
|
+ } else {
|
|
|
+ typeNew = "其他"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ // (类型为空的,若名称最后一个字为“店”,则标注为“个体工商户”;若名称结尾为“公司”,则标注为“民企”;其余标注为“其他”。
|
|
|
+ if strings.HasSuffix(companyName, "店") {
|
|
|
+ typeNew = "个体工商户"
|
|
|
+ } else if strings.HasSuffix(companyName, "公司") || strings.HasSuffix(companyName, "集团") {
|
|
|
+ typeNew = "民企"
|
|
|
+ } else {
|
|
|
+ typeNew = "其他"
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if typeNew == "" {
|
|
|
+ typeNew = "其他"
|
|
|
+ }
|
|
|
+ return typeNew
|
|
|
+}
|
|
|
+
|
|
|
+// 判断字符串是否全部由数字组成
|
|
|
+func isDigits(str string) bool {
|
|
|
+ _, err := strconv.Atoi(str)
|
|
|
+ return err == nil
|
|
|
+}
|