123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- package main
- import (
- "mongodb"
- "qfw/util"
- "strconv"
- "strings"
- )
- var (
- Mgo *mongodb.MongodbSim
- EntMgo *mongodb.MongodbSim
- typeMap = map[string]string{
- "有限责任公司(国有独资)": "国企", "有限责任公司(外商投资企业投资)": "外企", "有限责任公司(外商投资企业合资)": "外企", "有限责任公司(外商投资企业与内资合资)": "外企",
- "有限责任公司(外商投资企业法人独资)": "外企", "有限责任公司(自然人投资或控股)": "民企", "有限责任公司(国有控股)": "国企", "一人有限责任公司": "民企",
- "有限责任公司(自然人独资)": "民企", "有限责任公司(自然人投资或控股的法人独资)": "民企", "有限责任公司(非自然人投资或控股的法人独资)": "民企",
- "股份有限公司(上市、外商投资企业投资)": "外企", "股份有限公司(上市、自然人投资或控股)": "民企", "股份有限公司(上市、国有控股)": "国企", "其他股份有限公司(上市)": "民企",
- "股份有限公司(非上市、外商投资企业投资)": "外企", "股份有限公司(非上市、自然人投资或控股)": "民企", "股份有限公司(非上市、国有控股)": "国企",
- "有限责任公司分公司(国有独资)": "国企", "有限责任公司分公司(外商投资企业投资)": "外企", "有限责任公司分公司(外商投资企业合资)": "外企",
- "有限责任公司分公司(外商投资企业与内资合资)": "外企", "有限责任公司分公司(外商投资企业法人独资)": "外企", "有限责任公司分公司(自然人投资或控股)": "民企",
- "有限责任公司分公司(国有控股)": "国企", "一人有限责任公司分公司": "民企", "有限责任公司分公司(自然人独资)": "民企", "有限责任公司分公司(自然人投资或控股的法人独资)": "民企",
- "有限责任公司分公司(非自然人投资或控股的法人独资)": "民企", "股份有限公司分公司(上市、外商投资企业投资)": "外企", "股份有限公司分公司(上市、自然人投资或控股)": "民企",
- "股份有限公司分公司(上市、国有控股)": "国企", "其他股份有限公司分公司(上市)": "民企", "股份有限公司分公司(非上市、外商投资企业投资)": "外企",
- "股份有限公司分公司(非上市、自然人投资或控股)": "民企", "股份有限公司分公司(国有控股)": "国企", "内资企业法人": "民企", "全民所有制": "国企", "集体所有制": "集体",
- "股份制": "民企", "股份合作制": "民企", "事业单位营业": "事业单位", "国有事业单位营业": "事业单位", "集体事业单位营业": "事业单位", "社团法人营业": "社团",
- "国有社团法人营业": "社团", "集体社团法人营业": "社团", "全民所有制分支机构(非法人)": "国企", "集体分支机构(非法人)": "集体", "股份制分支机构": "民企",
- "股份合作制分支机构": "民企", "国有经营单位(非法人)": "国企", "集体经营单位(非法人)": "集体", "非公司私营企业": "民企", "合伙企业": "民企", "普通合伙企业": "民企",
- "特殊普通合伙企业": "民企", "有限合伙企业": "民企", "个人独资企业": "民企", "合伙企业分支机构": "民企", "普通合伙企业分支机构": "民企",
- "特殊普通合伙企业分支机构": "民企", "有限合伙企业分支机构": "民企", "个人独资企业分支机构": "民企", "股份制企业(非法人)": "民企", "外商投资企业": "外企",
- "有限责任公司(中外合资)": "外企", "有限责任公司(中外合作)": "外企", "有限责任公司(外商合资)": "外企", "有限责任公司(外国自然人独资)": "外企",
- "有限责任公司(外国法人独资)": "外企", "有限责任公司(外国非法人经济组织独资)": "外企", "股份有限公司(中外合资、未上市)": "外企", "股份有限公司(中外合资、上市)": "外企",
- "股份有限公司(外商合资、未上市)": "外企", "股份有限公司(外商合资、上市)": "外企", "非公司外商投资企业(中外合作)": "外企", "外商投资合伙企业": "外企",
- "外商投资企业分支机构": "外企", "非公司外商投资企业分支机构": "外企", "外商投资合伙企业分支机构": "外企", "港、澳、台投资企业": "港澳台企",
- "有限责任公司(港澳台与境内合资)": "港澳台企", "有限责任公司(港澳台与境内合作)": "港澳台企", "有限责任公司(港澳台合资)": "港澳台企",
- "有限责任公司(港澳台自然人独资)": "港澳台企", "有限责任公司(港澳台法人独资)": "港澳台企", "有限责任公司(港澳台非法人经济组织独资)": "港澳台企",
- "有限责任公司(港澳台与外国投资者合资)": "港澳台企", "股份有限公司(港澳台与境内合资、未上市)": "港澳台企", "股份有限公司(港澳台与境内合资、上市)": "港澳台企",
- "股份有限公司(港澳台合资、未上市)": "港澳台企", "股份有限公司(港澳台合资、上市)": "港澳台企", "股份有限公司(港澳台与外国投资者合资、未上市)": "港澳台企",
- "股份有限公司(港澳台与外国投资者合资、上市)": "港澳台企", "非公司港、澳、台企业(港澳台与境内合作)": "港澳台企", "非公司港、澳、台企业(港澳台合资)": "港澳台企",
- "港、澳、台投资合伙企业": "港澳台企", "港、澳、台投资企业分支机构": "港澳台企", "非公司港、澳、台投资企业分支机构": "港澳台企", "港、澳、台投资合伙企业分支机构": "港澳台企",
- "外国(地区)企业": "外企", "外国(地区)公司分支机构": "外企", "外国(地区)无限责任公司分支机构": "外企", "外国(地区)有限责任公司分支机构": "外企",
- "外国(地区)股份有限责任公司分支机构": "外企", "外国(地区)其他形式公司分支机构": "外企", "外国(地区)企业常驻代表机构": "外企", "外国(地区)企业在中国境内从事经营活动": "外企",
- "农民专业合作社": "农民合作社", "农民专业合作社分支机构": "农民合作社", "个体工商户": "个体工商户", "有限责任公司": "民企", "民办非企业单位": "民办非企业单位",
- "社会团体": "社团", "律师事务所": "律师事务所", "分公司": "民企", "事业单位": "事业单位", "有限责任公司(自然人独资)(1151)": "民企",
- "有限责任公司(自然人投资或控股)(1130)": "民企", "村级集体经济组织": "集体", "外商投资企业分公司": "外企", "有限责任公司(港澳台投资、非独资)": "港澳台企",
- "有限责任公司(外商投资、非独资)": "外企", "股份有限公司": "民企", "集体所有制(股份合作)": "集体", "有限责任公司(台港澳与境内合资)": "港澳台企",
- "有限责任公司(非自然人投资或控股的法人独": "民企", "有限责任公司(台港澳法人独资)": "港澳台企", "有限责任公司(非自然人投资或控股的法人独资)(1153)": "民企",
- "集体企业": "集体", "企业": "民企", "私营有限责任公司(自然人控股或私营性质企业控股)": "民企", "有限责任公司(台港澳合资)": "港澳台企",
- "有限责任公司(自然人投资或控股的法人独资)(1152)": "民企", "股份有限公司(外商投资、未上市)": "外企", "基金会": "其他", "内资企业集团": "民企",
- "普通合伙企业(4531)": "民企", "有限责任公司(法人独资,私营)": "民企", "有限责任公司(台港澳自然人独资)": "港澳台企", "有限责任公司(自然人独资)!": "民企",
- "(普通合伙分支机构)": "民企", "承包工程": "其他", "非公司企业法人(股份合作制)": "民企", "非公司企业法人(集体经济)": "集体", "非公司企业法人分支机构(集体经济)": "集体",
- "个人经营": "个体工商户", "股份有限公司(港澳台投资、上市)": "港澳台企", "股份有限公司(港澳台投资、未上市)": "港澳台企", "股份有限公司(台港澳与境内合资、上市)": "港澳台企",
- "股份有限公司(外商投资、未上市)分公司": "外企", "股份有限公司(中外合资、未上市)分公司": "外企", "股份有限公司分公司(非上市、国有控股)": "国企", "国有企业": "国企",
- "国有企业经营单位(非法人)": "国企", "合伙企业(普通合伙)": "民企", "合伙企业(有限合伙)": "民企", "集体所有制(股份合作)分支机构": "集体",
- "集体所有制(股份合作)-全资设立": "集体", "联营": "其他", "内资非法人企业、非公司私营企业": "民企", "内资非法人企业、非公司私营企业及内资非公司企业分支机构": "民企",
- "内资集团": "民企", "其他": "其他", "其他有限责任公司(1190)": "民企", "台、港、澳投资企业分公司": "港澳台企", "台、港、澳投资企业分支机构": "港澳台企",
- "台港澳分公司": "港澳台企", "未规范的有限责任公司": "民企", "一人有限责任公司(法人独资)": "民企", "一人有限责任公司(自然人独资)": "民企",
- "有限责任公司(台港澳与外国投资者合资)": "外企", "有限责任公司(中外合资)分公司": "外企", "有限责任公司(中外合资)分支机构": "外企", "有限责任公司分公司(法人独资)": "民企",
- "有限责任公司分公司(自然人投资或控股)!": "民企", "组级集体经济组织": "集体", "农民专业合作经济组织": "农民合作社", "农民专业合作社(9100)": "农民合作社",
- "股份有限公司(外商投资、上市)": "外企",
- }
- typeOtherMap = map[string][]string{
- "内资公司": []string{"国企", "民企"}, "其他有限责任公司": []string{"国企", "民企"}, "股份有限公司(上市)": []string{"国企", "民企"},
- "股份有限公司(非上市)": []string{"国企", "民企"}, "其他股份有限公司(非上市)": []string{"国企", "民企"}, "内资分公司": []string{"国企", "民企"},
- "有限责任公司分公司": []string{"国企", "民企"}, "其他有限责任公司分公司": []string{"国企", "民企"}, "股份有限公司分公司": []string{"国企", "民企"},
- "股份有限公司分公司(上市)": []string{"国企", "民企"}, "股份有限公司分公司(非上市)": []string{"国企", "民企"}, "其他股份有限公司分公司(非上市)": []string{"国企", "民企"},
- "内资非法人企业、非公司私营企业及内资非公司企业分支机构": []string{"国企", "其他"}, "内资企业法人分支机构(非法人)": []string{"国企", "其他"},
- "经营单位(非法人)": []string{"国企", "其他"}, "集团": []string{"国企", "民企"}, "有限责任公司(法人独资)": []string{"国企", "民企"},
- "有限责任公司(法人独资)": []string{"国企", "民企"}, "有限责任公司分公司(法人独资)": []string{"国企", "民企"},
- }
- keyOtherArr = []string{"中国", "国家", "中建", "中电科", "中航", "中铁", "中核", "中船", "中石油", "中石化", "东风汽车", "鞍钢", "中铝", "中粮", "中储粮", "五矿",
- "招商局", "华润", "中煤", "中盐", "矿冶科技", "中车", "中农发", "中林", "新兴际华", "中广核", "华侨城", "南光", "中远洋"}
- )
- func init() {
- EntMgo = mongodb.NewMgoWithUser("172.17.4.140", "mixdata", "username", "passwors", 20)
- Mgo = mongodb.NewMgo("4.176", "sales_leads", 20)
- }
- func main() {
- session := Mgo.GetMgoConn()
- query := map[string]interface{}{"type_new": map[string]interface{}{"$exists": 0}}
- defer Mgo.DestoryMongoConn(session)
- count := 0
- iter := session.DB("sales_leads").C("ent_winner_temp_20231214").Find(&query).Iter()
- thisData := map[string]interface{}{}
- for {
- if !iter.Next(&thisData) {
- break
- }
- count++
- companyId := util.ObjToString(thisData["company_id"])
- entData, ok := EntMgo.FindOne("qyxy_std", map[string]interface{}{"_id": mongodb.StringTOBsonId(companyId)})
- if ok && entData != nil && len(*entData) > 0 {
- companyTypeOld := util.ObjToString((*entData)["company_type_old"])
- companyType := util.ObjToString((*entData)["company_type"])
- typeNew, companyName := "", util.ObjToString(thisData["name"])
- 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 = "其他"
- }
- Mgo.UpdateById("ent_winner_temp_20231214", thisData["_id"], map[string]interface{}{"$set": map[string]interface{}{
- "company_type_old": companyTypeOld,
- "company_type": companyType,
- "type_new": typeNew,
- "company_status": companyTypeOld,
- }})
- }
- } else {
- // (类型为空的,若名称最后一个字为“店”,则标注为“个体工商户”;若名称结尾为“公司”,则标注为“民企”;其余标注为“其他”。
- if strings.HasSuffix(companyName, "店") {
- typeNew = "个体工商户"
- } else if strings.HasSuffix(companyName, "公司") || strings.HasSuffix(companyName, "集团") {
- typeNew = "民企"
- } else {
- typeNew = "其他"
- }
- Mgo.UpdateById("ent_winner_temp_20231214", thisData["_id"], map[string]interface{}{"$set": map[string]interface{}{
- "type_new": typeNew,
- }})
- }
- }
- thisData = map[string]interface{}{}
- }
- }
- // 判断字符串是否全部由数字组成
- func isDigits(str string) bool {
- _, err := strconv.Atoi(str)
- return err == nil
- }
|