zhengkun před 3 roky
rodič
revize
ca28c8922c

+ 2 - 2
data_export_bank/src/config.json

@@ -58,8 +58,8 @@
       "招标人",
       "招标人联系人",
       "联系电话",
-      "中标公告链接",
-      "中标公告全文"
+      "中标公告全文",
+      "中标公告链接"
     ],
     [
       "序号",

+ 250 - 58
data_export_bank/src/export_bidata.go

@@ -1,10 +1,12 @@
 package main
 
 import (
+	"fmt"
 	log "github.com/donnie4w/go-logger/logger"
 	"github.com/tealeg/xlsx"
 	"os"
 	qu "qfw/util"
+	"time"
 )
 
 var (
@@ -72,73 +74,57 @@ func exportBidata() {
 			"$lt": 1646064000,
 		},
 	},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()
 	for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
 		if total%10000==0 {
-			log.Debug("curent index ",total,tmp["_id"])
+			log.Debug("curent index ",total,num_1,num_2,num_3,num_4)
 		}
 		extracttype := qu.IntAll(tmp["extracttype"])
 		if extracttype==-1 {
 			tmp = make(map[string]interface{})
 			continue
 		}
-		////逻辑处理
-		//subtype := qu.ObjToString(tmp["subtype"])
-		//toptype := qu.ObjToString(tmp["subtype"])
-		//spidercode := qu.ObjToString(tmp["spidercode"])
-		//site := qu.ObjToString(tmp["site"])
-		//projectname := qu.ObjToString(tmp["projectname"])
-		//area := qu.ObjToString(tmp["area"])
-		//city := qu.ObjToString(tmp["city"])
-		//district := qu.ObjToString(tmp["district"])
-		//platform :=""
-		//if spidercode=="竞品" {
-		//	platform = "剑鱼发布"
-		//}else {
-		//
-		//}
-		//buyerclass := qu.ObjToString(tmp["buyerclass"])
-		//publishtime := qu.Int64All(tmp["publishtime"])
-		//p_time_str := time.Unix(publishtime, 0).Format(timeLayout)
-		//
-		//budget := qu.Float64All(tmp["budget"])
-		//budget_str := ""
-		//if budget>0.0 {
-		//	budget_str = fmt.Sprintf("%.2f",budget)
-		//}
-		//bidamount := qu.Float64All(tmp["bidamount"])
-		//bidamount_str := ""
-		//if bidamount>0.0 {
-		//	bidamount_str = fmt.Sprintf("%.2f",bidamount)
-		//}
-		//buyeraddr := qu.ObjToString(tmp["buyeraddr"])
-		//buyerperson := qu.ObjToString(tmp["buyerperson"])
-		//buyertel := qu.ObjToString(tmp["buyertel"])
-		//href := qu.ObjToString(tmp["href"])
-		//detail := qu.ObjToString(tmp["detail"])
-		//
-		//
-		//
-		//
-		//
-		//if toptype=="招标" {
-		//
-		//}
-		//if subtype == "中标" || subtype == "成交" || subtype == "合同" {
-		//	dealWithZhongBiao(tmp)
-		//}
-		//
-		//if spidercode=="项目" {
-		//	dealWithXiangMu(tmp)
-		//}
-		//if spidercode=="开标" {
-		//	dealWithKaiBiao(tmp)
-		//}
-
+		//逻辑处理
+		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 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
+			}
+		}
+		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
+			}
+		}
+		if kb_spicode[spidercode]!=""{
+			num_4++
+			data_4 := dealWithKaiBiao(tmp,num_4)
+			row_4:= sheet_4.AddRow()
+			for _,v := range data_4{
+				row_4.AddCell().Value = v
+			}
+		}
 		tmp = make(map[string]interface{})
 	}
 
-	log.Debug("is over bid ~",total)
+	log.Debug("is over bid ~",total,num_1,num_2,num_3,num_4)
 
 
 }
@@ -153,16 +139,27 @@ func exportExtdata() {
 			"$lt": 1646064000,
 		},
 	},0
+	num_5:=0
 	it := sess.DB(ext_mgo.DbName).C(ext_coll).Find(&q).Sort("_id").Iter()
 	for tmp := make(map[string]interface{}); it.Next(&tmp);total++{
 		if total%10000==0 {
-			log.Debug("curent index ",total,tmp["_id"])
+			log.Debug("curent index ",total,num_5)
 		}
 		extracttype := qu.IntAll(tmp["extracttype"])
-		if extracttype==-1 || tmp["winnerorder"]==nil{
+		if extracttype==-1 {
 			tmp = make(map[string]interface{})
 			continue
 		}
+		spidercode := qu.ObjToString(tmp["spidercode"])
+		if pb_spicode[spidercode]!=""||tmp["winnerorder"]!=nil{
+			num_5++
+			data_5 := dealWithPingBiao(tmp,num_5)
+			row_5:= sheet_5.AddRow()
+			for _,v := range data_5{
+				row_5.AddCell().Value = v
+			}
+		}
+
 
 
 
@@ -172,16 +169,211 @@ func exportExtdata() {
 	}
 
 
-	log.Debug("is over ext ~",total)
+	log.Debug("is over ext ~",total,num_5)
+
+
+}
+
+
+
+
+
+//招标信息
+func dealWithZhaoBiao(tmp map[string]interface{},index int)[]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"]))
+
+	publishtime := qu.Int64All(tmp["publishtime"])
+	dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
+	dataArr = append(dataArr,"")//公告结束日期
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyer"]))
+	price := qu.Float64All(tmp["budget"])
+	price_str := ""
+	if price>0.0 {
+		price_str = fmt.Sprintf("%.2f",price)
+	}
+	dataArr = append(dataArr,price_str)
+	dataArr = append(dataArr,"元")
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyeraddr"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyerperson"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyertel"]))
+
+	dataArr = append(dataArr,"")//邮箱
+	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
+
+	return dataArr
+}
 
+//中标信息
+func dealWithZhongBiao(tmp map[string]interface{},index int)[]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"]))
+
+	publishtime := qu.Int64All(tmp["publishtime"])
+	dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
+	dataArr = append(dataArr,"")//公告结束日期
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyer"]))
+	price := qu.Float64All(tmp["budget"])
+	price_str := ""
+	if price>0.0 {
+		price_str = fmt.Sprintf("%.2f",price)
+	}
+	dataArr = append(dataArr,price_str)
+	dataArr = append(dataArr,"元")
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyeraddr"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyerperson"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyertel"]))
+
+	dataArr = append(dataArr,"")//邮箱
+	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
 
+	return dataArr
 }
 
+//项目信息
+func dealWithXiangMu(tmp map[string]interface{},index int)[]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"]))
+
+	publishtime := qu.Int64All(tmp["publishtime"])
+	dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
+	dataArr = append(dataArr,"")//公告结束日期
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyer"]))
+	price := qu.Float64All(tmp["budget"])
+	price_str := ""
+	if price>0.0 {
+		price_str = fmt.Sprintf("%.2f",price)
+	}
+	dataArr = append(dataArr,price_str)
+	dataArr = append(dataArr,"元")
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyeraddr"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyerperson"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyertel"]))
 
+	dataArr = append(dataArr,"")//邮箱
+	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
 
+	return dataArr
+}
+
+//开标信息
+func dealWithKaiBiao(tmp map[string]interface{},index int)[]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"]))
+
+	publishtime := qu.Int64All(tmp["publishtime"])
+	dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
+	dataArr = append(dataArr,"")//公告结束日期
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyer"]))
+	price := qu.Float64All(tmp["budget"])
+	price_str := ""
+	if price>0.0 {
+		price_str = fmt.Sprintf("%.2f",price)
+	}
+	dataArr = append(dataArr,price_str)
+	dataArr = append(dataArr,"元")
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyeraddr"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyerperson"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyertel"]))
 
+	dataArr = append(dataArr,"")//邮箱
+	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
 
+	return dataArr
+}
 
+//评标信息
+func dealWithPingBiao(tmp map[string]interface{},index int)[]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"]))
+
+	publishtime := qu.Int64All(tmp["publishtime"])
+	dataArr = append(dataArr,time.Unix(publishtime, 0).Format(timeLayout))
+	dataArr = append(dataArr,"")//公告结束日期
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyer"]))
+	price := qu.Float64All(tmp["budget"])
+	price_str := ""
+	if price>0.0 {
+		price_str = fmt.Sprintf("%.2f",price)
+	}
+	dataArr = append(dataArr,price_str)
+	dataArr = append(dataArr,"元")
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyeraddr"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyerperson"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["buyertel"]))
 
+	dataArr = append(dataArr,"")//邮箱
+	dataArr = append(dataArr,qu.ObjToString(tmp["detail"]))
+	dataArr = append(dataArr,qu.ObjToString(tmp["href"]))
 
+	return dataArr
+}
 

+ 69 - 0
data_export_bank/src/export_qydata.go

@@ -1 +1,70 @@
 package main
+
+import (
+	"github.com/tealeg/xlsx"
+	"os"
+)
+
+var (
+	f_6 = xlsx.NewFile()
+	f_7 = xlsx.NewFile()
+	f_8 = xlsx.NewFile()
+	f_9 = xlsx.NewFile()
+	f_10 = xlsx.NewFile()
+	f_11 = xlsx.NewFile()
+	sheet_6 ,sheet_7,sheet_8,sheet_9,sheet_10,sheet_11 	*xlsx.Sheet
+)
+
+
+func initQydata()  {
+	os.Remove("公司资质.xlsx")
+	os.Remove("注册人员.xlsx")
+	os.Remove("黑名单.xlsx")
+	os.Remove("不良名单.xlsx")
+	os.Remove("诚信惩戒.xlsx")
+	os.Remove("围标串标.xlsx")
+
+	sheet_6, _= f_6.AddSheet("公司资质")
+	sheet_7, _= f_7.AddSheet("注册人员")
+	sheet_8, _= f_8.AddSheet("黑名单")
+	sheet_9, _= f_9.AddSheet("不良名单")
+	sheet_10, _= f_10.AddSheet("诚信惩戒")
+	sheet_11, _= f_11.AddSheet("围标串标")
+
+
+
+
+	row_6:= sheet_6.AddRow()
+	row_7:= sheet_7.AddRow()
+	row_8:= sheet_8.AddRow()
+	row_9:= sheet_9.AddRow()
+	row_10:= sheet_10.AddRow()
+	row_11:= sheet_11.AddRow()
+
+
+	for _,v := range qy_tagText[0]{
+		row_6.AddCell().Value = v
+	}
+	for _,v := range qy_tagText[1]{
+		row_7.AddCell().Value = v
+	}
+	for _,v := range qy_tagText[2]{
+		row_8.AddCell().Value = v
+	}
+	for _,v := range qy_tagText[3]{
+		row_9.AddCell().Value = v
+	}
+	for _,v := range qy_tagText[4]{
+		row_10.AddCell().Value = v
+	}
+	for _,v := range qy_tagText[5]{
+		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")
+}

+ 5 - 3
data_export_bank/src/main.go

@@ -90,14 +90,16 @@ func init()  {
 	qu.ReadConfig(&sysconfig)
 	initMgo()
 	initConfig()
-
 	initBidata()
+	initQydata()
+
+
 }
 func main()  {
 	log.Println("测试...")
 
-
-
+	exportBidata() //招标-中标-项目-开标
+	exportExtdata() //评标