|
@@ -39,7 +39,7 @@ var fieldArr = []string{
|
|
"list_code",
|
|
"list_code",
|
|
}
|
|
}
|
|
|
|
|
|
-func companySaveMysql() {
|
|
|
|
|
|
+func saveCompanyMysql() {
|
|
sess := save_mgo.GetMgoConn()
|
|
sess := save_mgo.GetMgoConn()
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
q,total:=map[string]interface{}{},0
|
|
q,total:=map[string]interface{}{},0
|
|
@@ -58,36 +58,39 @@ func companySaveMysql() {
|
|
|
|
|
|
|
|
|
|
//关联企业信息-升数据
|
|
//关联企业信息-升数据
|
|
-func dealWithCompanyData() {
|
|
|
|
- sess := save_mgo.GetMgoConn()
|
|
|
|
- defer save_mgo.DestoryMongoConn(sess)
|
|
|
|
- q,total:=map[string]interface{}{},0
|
|
|
|
- isok:=0
|
|
|
|
- it := sess.DB(save_mgo.DbName).C("zktest_nmpa_cpmpany").Find(&q).Iter()
|
|
|
|
- for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
|
|
- if total%10000==0 {
|
|
|
|
- log.Debug("curent index ",total,isok)
|
|
|
|
|
|
+func exportCompanyMysql() {
|
|
|
|
+ dataArr := repeatCompanyNamedata()
|
|
|
|
+ for index,tmp := range dataArr{
|
|
|
|
+ if index%10000==0 {
|
|
|
|
+ log.Debug("curent index ",index)
|
|
}
|
|
}
|
|
- company:= qu.ObjToString(tmp["name"])
|
|
|
|
- type_str := qu.ObjToString(tmp["type"])
|
|
|
|
- dataArr,_ :=spi_mgo.Find("company_base", map[string]interface{}{
|
|
|
|
- "company_name":company,
|
|
|
|
- },nil,nil)
|
|
|
|
-
|
|
|
|
- for _,v := range dataArr {
|
|
|
|
- isok++
|
|
|
|
- data := updateData(v,type_str)
|
|
|
|
- if len(data)>2 && data!=nil {
|
|
|
|
- save_mgo.Save("zktest_mysql_company_info",data)
|
|
|
|
|
|
+ for company,_ := range tmp{
|
|
|
|
+ arr,_ :=spi_mgo.Find(s_qybase_coll, map[string]interface{}{
|
|
|
|
+ "company_name":company,
|
|
|
|
+ },nil,nil)
|
|
|
|
+ //选取最优-企业信息
|
|
|
|
+ if len(dataArr)>0 {
|
|
|
|
+ getOneBaseCompany(arr)
|
|
|
|
+ }else {
|
|
|
|
+ //记录企业---
|
|
}
|
|
}
|
|
}
|
|
}
|
|
- tmp = make(map[string]interface{})
|
|
|
|
|
|
+ }
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+func getOneBaseCompany(arr []map[string]interface{}) map[string]interface{} {
|
|
|
|
+ data := map[string]interface{}{}
|
|
|
|
+ if len(arr)==1 {
|
|
|
|
+ return arr[0]
|
|
}
|
|
}
|
|
|
|
|
|
- log.Debug("is over ",total,isok)
|
|
|
|
|
|
+ return data
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
+
|
|
func updateData(tmp map[string]interface{},type_str string) map[string]interface{} {
|
|
func updateData(tmp map[string]interface{},type_str string) map[string]interface{} {
|
|
update := map[string]interface{}{}
|
|
update := map[string]interface{}{}
|
|
for _,v := range fieldArr{
|
|
for _,v := range fieldArr{
|
|
@@ -95,7 +98,6 @@ func updateData(tmp map[string]interface{},type_str string) map[string]interface
|
|
update[v] = tmp[v]
|
|
update[v] = tmp[v]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
-
|
|
|
|
company_id := qu.ObjToString(update["company_id"])
|
|
company_id := qu.ObjToString(update["company_id"])
|
|
if company_id=="" {
|
|
if company_id=="" {
|
|
return map[string]interface{}{}
|
|
return map[string]interface{}{}
|
|
@@ -126,24 +128,19 @@ func updateData(tmp map[string]interface{},type_str string) map[string]interface
|
|
return update
|
|
return update
|
|
}
|
|
}
|
|
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
//已结束
|
|
//已结束
|
|
-func exportCompany() {
|
|
|
|
- dict := map[string]string{}
|
|
|
|
|
|
+func repeatCompanyNamedata() []map[string]string {
|
|
sess := save_mgo.GetMgoConn()
|
|
sess := save_mgo.GetMgoConn()
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
defer save_mgo.DestoryMongoConn(sess)
|
|
- q,total:=map[string]interface{}{},0
|
|
|
|
- isok:=0
|
|
|
|
- it := sess.DB(save_mgo.DbName).C("nmpa_company").Find(&q).Iter()
|
|
|
|
|
|
+ q,total,isok:=map[string]interface{}{},0,0
|
|
|
|
+ dict := map[string]string{}
|
|
|
|
+ company_arr := []string{}
|
|
|
|
+ it := sess.DB(save_mgo.DbName).C(s_company_coll).Find(&q).Select(map[string]interface{}{
|
|
|
|
+ "company":1,
|
|
|
|
+ "class":1,
|
|
|
|
+ }).Iter()
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
|
|
- if total%10000==0 {
|
|
|
|
|
|
+ if total%100000==0 {
|
|
log.Debug("curent index ",total,isok)
|
|
log.Debug("curent index ",total,isok)
|
|
}
|
|
}
|
|
company:= qu.ObjToString(tmp["company"])
|
|
company:= qu.ObjToString(tmp["company"])
|
|
@@ -152,6 +149,7 @@ func exportCompany() {
|
|
if dict[company]=="" {
|
|
if dict[company]=="" {
|
|
isok++
|
|
isok++
|
|
dict[company] = class
|
|
dict[company] = class
|
|
|
|
+ company_arr = append(company_arr,company)
|
|
}else {
|
|
}else {
|
|
pre_class := dict[company]
|
|
pre_class := dict[company]
|
|
if pre_class!=class && !strings.Contains(pre_class,"&") {
|
|
if pre_class!=class && !strings.Contains(pre_class,"&") {
|
|
@@ -161,14 +159,27 @@ func exportCompany() {
|
|
}
|
|
}
|
|
tmp = make(map[string]interface{})
|
|
tmp = make(map[string]interface{})
|
|
}
|
|
}
|
|
- log.Debug("is over ",total,isok)
|
|
|
|
-
|
|
|
|
- for k,v := range dict {
|
|
|
|
- save_mgo.Save("zktest_nmpa_cpmpany", map[string]interface{}{
|
|
|
|
- "name":k,
|
|
|
|
- "type":v,
|
|
|
|
|
|
+ new_arr := []map[string]string{}
|
|
|
|
+ for _,v := range company_arr{
|
|
|
|
+ type_str :=""
|
|
|
|
+ str := dict[v]
|
|
|
|
+ if strings.Contains(str,"&") {
|
|
|
|
+ type_str = "3"
|
|
|
|
+ }else {
|
|
|
|
+ if strings.Contains(str,"生产") {
|
|
|
|
+ type_str= "1"
|
|
|
|
+ }else if strings.Contains(str,"经营") {
|
|
|
|
+ type_str = "2"
|
|
|
|
+ }else {
|
|
|
|
+ type_str = "4"
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ new_arr = append(new_arr, map[string]string{
|
|
|
|
+ v:type_str,
|
|
})
|
|
})
|
|
}
|
|
}
|
|
|
|
+ log.Debug("is repeat company over ",total,isok,len(new_arr))
|
|
|
|
+ return new_arr
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|