Selaa lähdekoodia

备份-银行信息

zhengkun 3 vuotta sitten
vanhempi
commit
1490cea995

+ 16 - 3
data_export_bank/src/config.json

@@ -3,19 +3,32 @@
     "addr": "127.0.0.1:27017",
     "db": "zhengkun",
     "coll": "zktest_export_bank",
-    "pool": 10
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
   },
   "ext_mgodb": {
     "addr": "127.0.0.1:27017",
     "db": "zhengkun",
-    "coll": "zktest_export_bank_ext",
+    "coll": "zktest_export_bank",
     "pool": 10
   },
   "qy_mgodb": {
     "addr": "127.0.0.1:27017",
     "db": "mixdata",
     "coll": "qyxy_std",
-    "pool": 10
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
+  },
+  "py_mgodb": {
+    "addr": "127.0.0.1:27017",
+    "db": "mixdata",
+    "coll_1": "company",
+    "coll_2": "jz_company",
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
   },
   "bid_tagText": [
     [

+ 233 - 80
data_export_bank/src/export_bidata.go

@@ -7,7 +7,10 @@ import (
 	"go.mongodb.org/mongo-driver/bson/primitive"
 	"os"
 	qu "qfw/util"
+	"regexp"
+	"strings"
 	"time"
+	"unicode/utf8"
 )
 
 var (
@@ -17,10 +20,25 @@ var (
  	f_4 = xlsx.NewFile()
  	f_5 = xlsx.NewFile()
 	sheet_1 ,sheet_2,sheet_3,sheet_4,sheet_5 	*xlsx.Sheet
+	x_name_1,x_name_2,x_name_3,x_name_4,x_name_5	string
+	x_tag_1,x_tag_2,x_tag_3,x_tag_4,x_tag_5	string
 )
 
 
 func initBidata()  {
+
+	x_name_1 = "招标信息"
+	x_name_2 = "中标信息"
+	x_name_3 = "招标项目"
+	x_name_4 = "开标公示"
+	x_name_5 = "评标公示"
+	x_tag_1 = ""
+	x_tag_2 = ""
+	x_tag_3 = ""
+	x_tag_4 = ""
+	x_tag_5 = ""
+
+
 	os.Remove("招标信息.xlsx")
 	os.Remove("中标信息.xlsx")
 	os.Remove("招标项目.xlsx")
@@ -54,12 +72,19 @@ func initBidata()  {
 	for _,v := range bid_tagText[4]{
 		row_5.AddCell().Value = v
 	}
+}
 
-
-	log.Debug("测试保存数据...")
+func isToLongNewFile(num int) (bool,string)  {
+	//暂定500000 -间隔
+	index := 100000
+	if num/index > 0 {
+		return true,fmt.Sprintf("_%d",num/index)
+	}
+	return false,""
 }
 
 func exportBidata() {
+	log.Debug("导出~标讯信息表...")
 	sess := bid_mgo.GetMgoConn()
 	defer bid_mgo.DestoryMongoConn(sess)
 	q,total := map[string]interface{}{
@@ -69,47 +94,129 @@ func exportBidata() {
 		},
 	},0
 	num_1,num_2,num_3,num_4:=0,0,0,0
-	it := sess.DB(bid_mgo.DbName).C(bid_coll).Find(&q).Sort("_id").Iter()
+	it := sess.DB(bid_mgo.DbName).C(bid_coll).Find(&q).Iter()
 	for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
 		if total%10000==0 {
 			log.Debug("curent index ",total,num_1,num_2,num_3,num_4)
+			//f_1.Save(x_name_1+x_tag_1+".xlsx")
+			//f_2.Save(x_name_2+x_tag_2+".xlsx")
+			//f_3.Save(x_name_3+x_tag_3+".xlsx")
+			f_4.Save(x_name_4+x_tag_4+".xlsx")
+
+			//b_1,tag_1 := isToLongNewFile(num_1)
+			//if b_1 && !strings.Contains(x_tag_1,tag_1) {
+			//	x_tag_1 = tag_1
+			//	f_1 = xlsx.NewFile()
+			//	sheet_1, _= f_1.AddSheet("招标信息")
+			//	row_1:= sheet_1.AddRow()
+			//	for _,v := range bid_tagText[0]{
+			//		row_1.AddCell().Value = v
+			//	}
+			//}
+			//
+			//b_2,tag_2 := isToLongNewFile(num_2)
+			//if b_2 && !strings.Contains(x_tag_2,tag_2) {
+			//	x_tag_2 = tag_2
+			//	f_2 = xlsx.NewFile()
+			//	sheet_2, _= f_2.AddSheet("中标信息")
+			//	row_2:= sheet_2.AddRow()
+			//	for _,v := range bid_tagText[1]{
+			//		row_2.AddCell().Value = v
+			//	}
+			//
+			//
+			//}
+			//
+			//b_3,tag_3 := isToLongNewFile(num_3)
+			//if b_3 && !strings.Contains(x_tag_3,tag_3) {
+			//	x_tag_3 = tag_3
+			//	f_3 = xlsx.NewFile()
+			//	sheet_3, _= f_3.AddSheet("招标项目")
+			//	row_3:= sheet_3.AddRow()
+			//	for _,v := range bid_tagText[2]{
+			//		row_3.AddCell().Value = v
+			//	}
+			//}
+
+			b_4,tag_4 := isToLongNewFile(num_4)
+			if b_4 && !strings.Contains(x_tag_4,tag_4) {
+				x_tag_4 = tag_4
+				f_4 = xlsx.NewFile()
+				sheet_4, _= f_4.AddSheet("评标公示")
+				row_4:= sheet_4.AddRow()
+				for _,v := range bid_tagText[3]{
+					row_4.AddCell().Value = v
+				}
+			}
 		}
+		spidercode := qu.ObjToString(tmp["spidercode"])
 		extracttype := qu.IntAll(tmp["extracttype"])
-		if extracttype==-1 {
+		//subtype := qu.ObjToString(tmp["subtype"])
+		//toptype := qu.ObjToString(tmp["toptype"])
+		site := qu.ObjToString(tmp["site"])
+		if extracttype==-1&&site!="中国政府采购网"&&site!="中国招标投标公共服务平台"{
 			tmp = make(map[string]interface{})
 			continue
 		}
-		//逻辑处理
-		subtype := qu.ObjToString(tmp["subtype"])
-		toptype := qu.ObjToString(tmp["toptype"])
-		spidercode := qu.ObjToString(tmp["spidercode"])
-		if toptype=="招标" {
-			num_1++
-			data_1 := dealWithZhaoBiao(tmp,num_1)
-			row_1:= sheet_1.AddRow()
-			for _,v := range data_1{
-				row_1.AddCell().Value = v
-			}
+		if kb_spicode[spidercode]=="" {
+			tmp = make(map[string]interface{})
+			continue
 		}
-		if subtype == "中标" || subtype == "成交" || subtype == "合同" {
-			num_2++
-			data_2 := dealWithZhongBiao(tmp,num_2)
-			row_2:= sheet_2.AddRow()
-			for _,v := range data_2{
-				row_2.AddCell().Value = v
+
+
+		topscopeclass := []string{}
+		if t_class, ok := tmp["topscopeclass"].(primitive.A); ok {
+			topscopeclass = qu.ObjArrToStringArr(t_class)
+		}else {
+			if t_class, ok := tmp["topscopeclass"].([]interface{}); ok {
+				topscopeclass = qu.ObjArrToStringArr(t_class)
 			}
 		}
-		if xm_spicode[spidercode]!="" {
-			num_3++
-			data_3 := dealWithXiangMu(tmp,num_3)
-			row_3:= sheet_3.AddRow()
-			for _,v := range data_3{
-				row_3.AddCell().Value = v
+		topscope := ""
+		for k,v := range topscopeclass{
+			length := utf8.RuneCountInString(v)
+			new_v := string([]rune(v)[0:length-1])
+			if k==0 {
+				topscope = new_v
+			}else {
+				if! strings.Contains(topscope,new_v) {
+					topscope = topscope+","+new_v
+				}
 			}
 		}
+
+
+
+
+		//if toptype=="招标" {
+		//	num_1++
+		//	data_1 := dealWithZhaoBiao(tmp,num_1,topscope)
+		//	row_1:= sheet_1.AddRow()
+		//	for _,v := range data_1{
+		//		row_1.AddCell().Value = v
+		//	}
+		//}
+		//
+		//
+		//if subtype == "中标" || subtype == "成交" || subtype == "合同" {
+		//	num_2++
+		//	data_2 := dealWithZhongBiao(tmp,num_2,topscope)
+		//	row_2:= sheet_2.AddRow()
+		//	for _,v := range data_2{
+		//		row_2.AddCell().Value = v
+		//	}
+		//}
+		//if xm_spicode[spidercode]!="" {
+		//	num_3++
+		//	data_3 := dealWithXiangMu(tmp,num_3,topscope)
+		//	row_3:= sheet_3.AddRow()
+		//	for _,v := range data_3{
+		//		row_3.AddCell().Value = v
+		//	}
+		//}
 		if kb_spicode[spidercode]!=""{
 			num_4++
-			data_4 := dealWithKaiBiao(tmp,num_4)
+			data_4 := dealWithKaiBiao(tmp,num_4,topscope)
 			row_4:= sheet_4.AddRow()
 			for _,v := range data_4{
 				row_4.AddCell().Value = v
@@ -118,19 +225,20 @@ func exportBidata() {
 		tmp = make(map[string]interface{})
 	}
 
-	log.Debug("is over bid ~",total,"~",num_1,num_2,num_3,num_4)
 
+	log.Debug("is over bidding ",total,num_1,num_2,num_3,num_4)
 
 	if total>0 {
-		f_1.Save("招标信息.xlsx")
-		f_2.Save("中标信息.xlsx")
-		f_3.Save("招标项目.xlsx")
-		f_4.Save("开标公示.xlsx")
+		//f_1.Save(x_name_1+x_tag_1+".xlsx")
+		//f_2.Save(x_name_2+x_tag_2+".xlsx")
+		//f_3.Save(x_name_3+x_tag_3+".xlsx")
+		f_4.Save(x_name_4+x_tag_4+".xlsx")
 	}
 }
 
 //导出抽取数据-评标相关
 func exportExtdata() {
+	log.Debug("导出~评标信息表...")
 	sess := ext_mgo.GetMgoConn()
 	defer ext_mgo.DestoryMongoConn(sess)
 	q,total := map[string]interface{}{
@@ -140,10 +248,22 @@ func exportExtdata() {
 		},
 	},0
 	num_5:=0
-	it := sess.DB(ext_mgo.DbName).C(ext_coll).Find(&q).Sort("_id").Iter()
+	it := sess.DB(ext_mgo.DbName).C(ext_coll).Find(&q).Iter()
 	for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
-		if total%10000==0 {
-			log.Debug("curent index ",total,num_5)
+		if total%1000==0 {
+			log.Debug("curent index ", total, num_5)
+			f_5.Save(x_name_5 + x_tag_5 + ".xlsx")
+
+			b_5, tag_5 := isToLongNewFile(num_5)
+			if b_5 && !strings.Contains(x_tag_5, tag_5) {
+				x_tag_5 = tag_5
+				f_5 = xlsx.NewFile()
+				sheet_5, _ = f_5.AddSheet("招标信息")
+				row_5 := sheet_5.AddRow()
+				for _, v := range bid_tagText[4] {
+					row_5.AddCell().Value = v
+				}
+			}
 		}
 		extracttype := qu.IntAll(tmp["extracttype"])
 		if extracttype==-1 {
@@ -159,6 +279,29 @@ func exportExtdata() {
 				winnerorder = qu.ObjArrToMapArr(w_order)
 			}
 		}
+
+		topscopeclass := []string{}
+		if t_class, ok := tmp["topscopeclass"].(primitive.A); ok {
+			topscopeclass = qu.ObjArrToStringArr(t_class)
+		}else {
+			if t_class, ok := tmp["topscopeclass"].([]interface{}); ok {
+				topscopeclass = qu.ObjArrToStringArr(t_class)
+			}
+		}
+		topscope := ""
+		for k,v := range topscopeclass{
+			length := utf8.RuneCountInString(v)
+			new_v := string([]rune(v)[0:length-1])
+			if k==0 {
+				topscope = new_v
+			}else {
+				if! strings.Contains(topscope,new_v) {
+					topscope = topscope+","+new_v
+				}
+			}
+		}
+
+
 		if pb_spicode[spidercode]!=""||len(winnerorder)>0{
 			num_5++
 			winners:=""
@@ -177,7 +320,7 @@ func exportExtdata() {
 			if winners=="" {
 				winners = qu.ObjToString(tmp["s_winner"])
 			}
-			data_5 := dealWithPingBiao(tmp,num_5,winners)
+			data_5 := dealWithPingBiao(tmp,num_5,winners,topscope)
 			row_5:= sheet_5.AddRow()
 			for _,v := range data_5{
 				row_5.AddCell().Value = v
@@ -191,7 +334,7 @@ func exportExtdata() {
 	log.Debug("is over ext ~",total,num_5)
 
 	if total>0 {
-		f_5.Save("评标公示.xlsx")
+		f_5.Save(x_name_5 + x_tag_5 + ".xlsx")
 	}
 }
 
@@ -200,21 +343,20 @@ func exportExtdata() {
 
 
 //招标信息
-func dealWithZhaoBiao(tmp map[string]interface{},index int)[]string {
+func dealWithZhaoBiao(tmp map[string]interface{},index int,topscope string)[]string {
 	dataArr := []string{}
-	spidercode := qu.ObjToString(tmp["spidercode"])
 	dataArr = append(dataArr,fmt.Sprintf("%d",index))
 	dataArr = append(dataArr,qu.ObjToString(tmp["site"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["projectname"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["area"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["city"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["district"]))
-	if jp_spicode[spidercode]!="" {
-		dataArr = append(dataArr,"剑鱼发布")
-	}else {
-		dataArr = append(dataArr,"")
-	}
-	dataArr = append(dataArr,qu.ObjToString(tmp["buyerclass"]))
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,topscope)
+
+
+
 	publishtime := qu.Int64All(tmp["publishtime"])
 	if publishtime>0 {
 		dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
@@ -249,27 +391,22 @@ func dealWithZhaoBiao(tmp map[string]interface{},index int)[]string {
 	}
 
 	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
-	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,trimHtml(qu.ObjToString(tmp["detail"])))
 
 	return dataArr
 }
 
 //中标信息
-func dealWithZhongBiao(tmp map[string]interface{},index int)[]string {
+func dealWithZhongBiao(tmp map[string]interface{},index int,topscope string)[]string {
 	dataArr := []string{}
-	spidercode := qu.ObjToString(tmp["spidercode"])
 	dataArr = append(dataArr,fmt.Sprintf("%d",index))
 	dataArr = append(dataArr,qu.ObjToString(tmp["site"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["projectname"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["area"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["city"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["district"]))
-	if jp_spicode[spidercode]!="" {
-		dataArr = append(dataArr,"剑鱼发布")
-	}else {
-		dataArr = append(dataArr,"")
-	}
-	dataArr = append(dataArr,qu.ObjToString(tmp["buyerclass"]))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,topscope)
 
 	publishtime := qu.Int64All(tmp["publishtime"])
 	if publishtime>0 {
@@ -300,28 +437,29 @@ func dealWithZhongBiao(tmp map[string]interface{},index int)[]string {
 	dataArr = append(dataArr,qu.ObjToString(tmp["buyerperson"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["buyertel"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
-	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,trimHtml(qu.ObjToString(tmp["detail"])))
 
 	return dataArr
 }
 
 //项目信息
-func dealWithXiangMu(tmp map[string]interface{},index int)[]string {
+func dealWithXiangMu(tmp map[string]interface{},index int,topscope string)[]string {
 	dataArr := []string{}
-	spidercode := qu.ObjToString(tmp["spidercode"])
 	dataArr = append(dataArr,fmt.Sprintf("%d",index))
 	dataArr = append(dataArr,qu.ObjToString(tmp["site"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["projectname"]))
-	dataArr = append(dataArr,qu.ObjToString(tmp["buyerclass"]))
+	dataArr = append(dataArr,topscope)
 	dataArr = append(dataArr,qu.ObjToString(tmp["area"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["city"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["district"]))
-	if jp_spicode[spidercode]!="" {
-		dataArr = append(dataArr,"剑鱼发布")
+	dataArr = append(dataArr,"")
+	publishtime := qu.Int64All(tmp["publishtime"])
+	if publishtime>0 { //招标项目建立时间
+		dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
 	}else {
 		dataArr = append(dataArr,"")
 	}
-	dataArr = append(dataArr,"")//招标项目建立时间
+
 	agency := qu.ObjToString(tmp["agency"])
 	if agency!="" {
 		qy_data := qy_mgo.FindOne(qy_coll, map[string]interface{}{
@@ -329,7 +467,7 @@ func dealWithXiangMu(tmp map[string]interface{},index int)[]string {
 		})
 		dataArr = append(dataArr,qu.ObjToString(qy_data["credit_no"]))//招标代理机构代码
 	}else {
-		dataArr = append(dataArr)//招标代理机构代码
+		dataArr = append(dataArr,"")//招标代理机构代码
 	}
 	dataArr = append(dataArr,agency)
 	dataArr = append(dataArr,qu.ObjToString(tmp["buyer"]))
@@ -345,21 +483,21 @@ func dealWithXiangMu(tmp map[string]interface{},index int)[]string {
 }
 
 //开标信息
-func dealWithKaiBiao(tmp map[string]interface{},index int)[]string {
+func dealWithKaiBiao(tmp map[string]interface{},index int,topscope string)[]string {
 	dataArr := []string{}
-	spidercode := qu.ObjToString(tmp["spidercode"])
 	dataArr = append(dataArr,fmt.Sprintf("%d",index))
 	dataArr = append(dataArr,qu.ObjToString(tmp["site"]))
-	dataArr = append(dataArr,qu.ObjToString(tmp["projectname"]))
-	dataArr = append(dataArr,qu.ObjToString(tmp["buyerclass"]))
+	projectname := qu.ObjToString(tmp["projectname"])
+	if projectname != "" {
+		dataArr = append(dataArr,qu.ObjToString(tmp["projectname"]))
+	}else {
+		dataArr = append(dataArr,qu.ObjToString(tmp["title"]))
+	}
+	dataArr = append(dataArr,topscope)
 	dataArr = append(dataArr,qu.ObjToString(tmp["area"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["city"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["district"]))
-	if jp_spicode[spidercode]!="" {
-		dataArr = append(dataArr,"剑鱼发布")
-	}else {
-		dataArr = append(dataArr,"")
-	}
+	dataArr = append(dataArr,"")
 	bidopentime := qu.Int64All(tmp["bidopentime"])
 	if bidopentime>0 {
 		dataArr = append(dataArr,time.Unix(bidopentime, 0).Format(timeLayout))
@@ -370,21 +508,16 @@ func dealWithKaiBiao(tmp map[string]interface{},index int)[]string {
 }
 
 //评标信息
-func dealWithPingBiao(tmp map[string]interface{},index int,winners string)[]string {
+func dealWithPingBiao(tmp map[string]interface{},index int,winners string,topscope string)[]string {
 	dataArr := []string{}
-	spidercode := qu.ObjToString(tmp["spidercode"])
 	dataArr = append(dataArr,fmt.Sprintf("%d",index))
 	dataArr = append(dataArr,qu.ObjToString(tmp["site"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["projectname"]))
-	dataArr = append(dataArr,qu.ObjToString(tmp["buyerclass"]))
+	dataArr = append(dataArr,topscope)
 	dataArr = append(dataArr,qu.ObjToString(tmp["area"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["city"]))
 	dataArr = append(dataArr,qu.ObjToString(tmp["district"]))
-	if jp_spicode[spidercode]!="" {
-		dataArr = append(dataArr,"剑鱼发布")
-	}else {
-		dataArr = append(dataArr,"")
-	}
+	dataArr = append(dataArr,"")
 	publishtime := qu.Int64All(tmp["publishtime"])
 	if publishtime>0 {
 		dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
@@ -396,3 +529,23 @@ func dealWithPingBiao(tmp map[string]interface{},index int,winners string)[]stri
 	return dataArr
 }
 
+
+
+func trimHtml(src string) string {
+	//将HTML标签全转换成小写
+	re, _ := regexp.Compile("\\<[\\S\\s]+?\\>")
+	src = re.ReplaceAllStringFunc(src, strings.ToLower)
+	//去除STYLE
+	re, _ = regexp.Compile("\\<style[\\S\\s]+?\\</style\\>")
+	src = re.ReplaceAllString(src, "")
+	//去除SCRIPT
+	re, _ = regexp.Compile("\\<script[\\S\\s]+?\\</script\\>")
+	src = re.ReplaceAllString(src, "")
+	//去除所有尖括号内的HTML代码,并换成换行符
+	re, _ = regexp.Compile("\\<[\\S\\s]+?\\>")
+	src = re.ReplaceAllString(src, "\n")
+	//去除连续的换行符
+	re, _ = regexp.Compile("\\s{2,}")
+	src = re.ReplaceAllString(src, "\n")
+	return strings.TrimSpace(src)
+}

+ 160 - 6
data_export_bank/src/export_qydata.go

@@ -1,6 +1,8 @@
 package main
 
 import (
+	"fmt"
+	"github.com/go-xweb/log"
 	"github.com/tealeg/xlsx"
 	"os"
 )
@@ -61,10 +63,162 @@ func initQydata()  {
 		row_11.AddCell().Value = v
 	}
 
-	//f_6.Save("公司资质.xlsx")
-	//f_7.Save("注册人员.xlsx")
-	//f_8.Save("黑名单.xlsx")
-	//f_9.Save("不良名单.xlsx")
-	//f_10.Save("诚信惩戒.xlsx")
-	//f_11.Save("围标串标.xlsx")
+}
+
+//导出企业信息表
+func exportQydataOne() {
+	log.Debug("导出~企业信息表...")
+	sess := py_mgo.GetMgoConn()
+	defer py_mgo.DestoryMongoConn(sess)
+	q,total := map[string]interface{}{},0
+	num_6,num_7,num_8,num_9,num_10:=0,0,0,0,0
+	it := sess.DB(py_mgo.DbName).C(py_coll_one).Find(&q).Iter()
+	for tmp := make(map[string]interface{}); it.Next(&tmp);total++ {
+		if total%1000 == 0 {
+			log.Debug("curent index ",total,num_6,num_7,num_8,num_9,num_10)
+		}
+		//区分导出不同表
+
+
+		
+		tmp = make(map[string]interface{})
+	}
+	log.Println("is over one ",total,num_6,num_7,num_8,num_9,num_10)
+}
+
+//导出围标串标表
+func exportQydataTwo()  {
+	log.Debug("导出~围标串标表...")
+	sess := py_mgo.GetMgoConn()
+	defer py_mgo.DestoryMongoConn(sess)
+	q,total := map[string]interface{}{},0
+	num_11 := 0
+	it := sess.DB(py_mgo.DbName).C(py_coll_two).Find(&q).Iter()
+	for tmp := make(map[string]interface{}); it.Next(&tmp);total++ {
+		if total%1000 == 0 {
+			log.Debug("curent index ",total,num_11)
+		}
+
+
+
+		tmp = make(map[string]interface{})
+	}
+	log.Println("is over two ",total,num_11)
+}
+
+
+
+//公司资质
+func dealWithGSZZ(tmp map[string]interface{},index int) []string {
+	dataArr := []string{}
+	dataArr = append(dataArr,fmt.Sprintf("%d",index))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")//所属行业
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")//发证日期
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")//联系方式
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+
+
+
+	return dataArr
+}
+//注册人员
+func dealWithZCRY(tmp map[string]interface{},index int) []string {
+	dataArr := []string{}
+	dataArr = append(dataArr,fmt.Sprintf("%d",index))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")//注册类别
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	return dataArr
+}
+//黑名单
+func dealWithHMD(tmp map[string]interface{},index int) []string {
+	dataArr := []string{}
+	dataArr = append(dataArr,fmt.Sprintf("%d",index))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")//文号
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	return dataArr
+}
+//不良名单
+func dealWithBLMD(tmp map[string]interface{},index int) []string {
+	dataArr := []string{}
+	dataArr = append(dataArr,fmt.Sprintf("%d",index))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+	dataArr = append(dataArr,"")//文号
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+
+	return dataArr
+}
+//诚信惩戒
+func dealWithCXYC(tmp map[string]interface{},index int) []string {
+	dataArr := []string{}
+	dataArr = append(dataArr,fmt.Sprintf("%d",index))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+
+	dataArr = append(dataArr,"")//文号
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+
+
+	return dataArr
+}
+//围标串标
+func dealWithWBCB(tmp map[string]interface{},index int) []string {
+	dataArr := []string{}
+	dataArr = append(dataArr,fmt.Sprintf("%d",index))
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	dataArr = append(dataArr,"")
+	return dataArr
 }

+ 30 - 11
data_export_bank/src/main.go

@@ -3,14 +3,16 @@ package main
 import (
 	"log"
 	qu "qfw/util"
+	"time"
 )
 
 var (
-	sysconfig    				map[string]interface{}
-	bid_mgo,ext_mgo,qy_mgo  	*MongodbSim
-	bid_coll,qy_coll,ext_coll	string
+	sysconfig    					map[string]interface{}
+	bid_mgo,ext_mgo,qy_mgo,py_mgo  	*MongodbSim
+	py_coll_one,py_coll_two			string
+	bid_coll,qy_coll,ext_coll		string
 	timeLayout = "2006-01-02"
-	bid_tagText,qy_tagText  [][]string
+	bid_tagText,qy_tagText  		[][]string
 	xm_spicode,jp_spicode,kb_spicode,pb_spicode	map[string]string
 )
 
@@ -21,6 +23,8 @@ func initMgo()  {
 		MongodbAddr: bidconf["addr"].(string),
 		DbName:      bidconf["db"].(string),
 		Size:        qu.IntAllDef(bidconf["pool"], 5),
+		UserName: 	 bidconf["u_name"].(string),
+		Password: 	 bidconf["p_word"].(string),
 	}
 	bid_mgo.InitPool()
 
@@ -39,8 +43,23 @@ func initMgo()  {
 		MongodbAddr: qyconf["addr"].(string),
 		DbName:      qyconf["db"].(string),
 		Size:        qu.IntAllDef(qyconf["pool"], 5),
+		UserName: 	 qyconf["u_name"].(string),
+		Password: 	 qyconf["p_word"].(string),
 	}
 	qy_mgo.InitPool()
+
+
+	pyconf := sysconfig["py_mgodb"].(map[string]interface{})
+	py_coll_one = pyconf["coll_1"].(string)
+	py_coll_two = pyconf["coll_2"].(string)
+	py_mgo = &MongodbSim{
+		MongodbAddr: pyconf["addr"].(string),
+		DbName:      pyconf["db"].(string),
+		Size:        qu.IntAllDef(pyconf["pool"], 5),
+		UserName: 	 pyconf["u_name"].(string),
+		Password: 	 pyconf["p_word"].(string),
+	}
+	py_mgo.InitPool()
 }
 
 func initConfig()  {
@@ -92,15 +111,15 @@ func init()  {
 	initBidata()
 	initQydata()
 
-
+	//初始化完毕
+	log.Println("初始化~完毕...")
 }
 func main()  {
-	log.Println("测试...")
-
-	exportBidata() //招标-中标-项目-开标
-	//exportExtdata() //评标
-
-
+	//go exportExtdata() //评标
+	//go exportBidata() //招标-中标-项目-开标
 
+	//exportQydataOne()
+	//exportQydataTwo()
 
+	time.Sleep(99999*time.Hour)
 }

+ 68 - 0
data_export_bank/src/mark

@@ -0,0 +1,68 @@
+{
+  "bid_mgodb": {
+    "addr": "127.0.0.1:27017",
+    "db": "zhengkun",
+    "coll": "zktest_export_bank",
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
+  },
+  "ext_mgodb": {
+    "addr": "127.0.0.1:27017",
+    "db": "zhengkun",
+    "coll": "zktest_export_bank_ext",
+    "pool": 10
+  },
+  "qy_mgodb": {
+    "addr": "127.0.0.1:27017",
+    "db": "mixdata",
+    "coll": "qyxy_std",
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
+  },
+  "py_mgodb": {
+    "addr": "127.0.0.1:27017",
+    "db": "mixdata",
+    "coll_1": "company",
+    "coll_2": "jz_company",
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
+  }
+}
+
+
+{
+  "bid_mgodb": {
+    "addr": "172.17.145.163:27083,172.17.4.187:27082",
+    "db": "qfw",
+    "coll": "bidding",
+    "pool": 10,
+    "u_name":"zhengkun",
+    "p_word":"zk@123123"
+  },
+  "ext_mgodb": {
+    "addr": "172.17.4.85:27080",
+    "db": "qfw",
+    "coll": "result_20220218",
+    "pool": 10
+  },
+  "qy_mgodb": {
+    "addr": "172.17.145.163:27083,172.17.4.187:27082",
+    "db": "mixdata",
+    "coll": "qyxy_std",
+    "pool": 10,
+    "u_name":"zhengkun",
+    "p_word":"zk@123123"
+  },
+  "py_mgodb": {
+    "addr": "172.17.4.87:27080",
+    "db": "national",
+    "coll_1": "company",
+    "coll_2": "jz_company",
+    "pool": 10,
+    "u_name":"",
+    "p_word":""
+  }
+}

+ 8 - 8
listen_data/src/main.go

@@ -108,14 +108,14 @@ func main()  {
 	}
 	save_mgo.InitPool()
 
-	//save_mgo = &MongodbSim{
-	//	MongodbAddr: "172.17.145.163:27083,172.17.4.187:27082",
-	//	DbName:      "qfw",
-	//	Size:        10,
-	//	UserName: "zhengkun",
-	//	Password: "zk@123123",
-	//}
-	//save_mgo.InitPool()
+	save_mgo = &MongodbSim{
+		MongodbAddr: "172.17.145.163:27083,172.17.4.187:27082",
+		DbName:      "qfw",
+		Size:        10,
+		UserName: "zhengkun",
+		Password: "zk@123123",
+	}
+	save_mgo.InitPool()
 
 
 	//save_mgo = &MongodbSim{