apple 5 жил өмнө
parent
commit
ff8b00a4fc

+ 1 - 0
udpfilterdup/src/config.json

@@ -27,6 +27,7 @@
             "memo": "创建招标数据索引"
         }
     ],
+    "isMerger":false,
     "specialwords": "(重招|重新招标|勘察|设计|施工|监理|总承包|土石方|可研)",
     "specialtitle_1": "[0-9a-zA-Z一二三四五六七八九十零123456789](次|包|标段|标包)",
     "specialtitle_2": "项目([0-9a-zA-Z一二三四五六七八九十零123456789])",

+ 58 - 47
udpfilterdup/src/main.go

@@ -47,7 +47,7 @@ var (
 
 
 
-
+	isMerger bool
 	SiteMap  map[string]map[string]interface{} //站点map
 )
 
@@ -66,6 +66,8 @@ func init() {
 	}
 	extract = mconf["extract"].(string)
 	extract_copy = mconf["extract_copy"].(string)
+	isMerger = mconf["isMerger"].(bool)
+
 	//bidding = mconf["bidding"].(string)
 	mgo.InitPool()
 
@@ -349,26 +351,32 @@ func task(data []byte, mapInfo map[string]interface{}) {
 				b, source,reason := DM.check(info)
 				if b { //有重复,生成更新语句,更新抽取和更新招标
 					repeateN++
-					//var mergeArr  = []int64{} 	//更改合并数组记录
-					//var newData  = &Info{}		//更换新的数据池数据
+					var mergeArr  = []int64{} 	//更改合并数组记录
+					var newData  = &Info{}		//更换新的数据池数据
 					var id_map  = map[string]interface{}{}
 					repeat_id := source.id
 					id_map["_id"]= util.StringTOBsonId(info.id)
-					//合并操作--评功权重打分-合并完替换原始数据池
-					//basic_bool := basicDataScore(source,info)
-					//if basic_bool {
-					//	//已原始数据为标准-对比数据打判重标签
-					//	newData,mergeArr= mergeDataFields(source,info)
-					//	DM.replaceSourceData(newData,source.id) //替换
-					//	id_map["_id"]= util.StringTOBsonId(source.id)
-					//	repeat_id = source.id
-					//}else {
-					//	//已对比数据为标准 ,数据池的数据打判重标签
-					//	newData,mergeArr= mergeDataFields(info,source)
-					//	DM.replaceSourceData(newData,source.id)//替换
-					//	id_map["_id"]= util.StringTOBsonId(info.id)
-					//	repeat_id = info.id
-					//}
+
+					if isMerger{
+						//需要合并相关操作
+						//合并操作--评功权重打分-合并完替换原始数据池
+						basic_bool := basicDataScore(source,info)
+						if basic_bool {
+							//已原始数据为标准-对比数据打判重标签
+							newData,mergeArr= mergeDataFields(source,info)
+							DM.replaceSourceData(newData,source.id) //替换
+							id_map["_id"]= util.StringTOBsonId(source.id)
+							repeat_id = source.id
+						}else {
+							//已对比数据为标准 ,数据池的数据打判重标签
+							newData,mergeArr= mergeDataFields(info,source)
+							DM.replaceSourceData(newData,source.id)//替换
+							id_map["_id"]= util.StringTOBsonId(info.id)
+							repeat_id = info.id
+						}
+					}
+
+
 
 					var update_map  = map[string]interface{}{
 						"$set": map[string]interface{}{
@@ -378,35 +386,38 @@ func task(data []byte, mapInfo map[string]interface{}) {
 						},
 					}
 
-					//合并记录
-					//if len(newData.mergemap)>0 {
-					//	update_map["$set"].(map[string]interface{})["merge"] = newData.mergemap
-					//	//fmt.Println("合并长度:",len(newData.mergemap))
-					//}
-					//
-					////更新合并后的数据
-					//for _,value :=range mergeArr {
-					//	if value==1 {
-					//		update_map["$set"].(map[string]interface{})["area"] = newData.area
-					//		update_map["$set"].(map[string]interface{})["city"] = newData.city
-					//	}else if value==2 {
-					//		update_map["$set"].(map[string]interface{})["projectname"] = newData.projectname
-					//	}else if value==3 {
-					//		update_map["$set"].(map[string]interface{})["projectcode"] = newData.projectcode
-					//	}else if value==4 {
-					//		update_map["$set"].(map[string]interface{})["buyer"] = newData.buyer
-					//	}else if value==5 {
-					//		update_map["$set"].(map[string]interface{})["budget"] = newData.budget
-					//	}else if value==6 {
-					//		update_map["$set"].(map[string]interface{})["winner"] = newData.winner
-					//	}else if value==7 {
-					//		update_map["$set"].(map[string]interface{})["bidamount"] = newData.bidamount
-					//	}else if value==8 {
-					//		update_map["$set"].(map[string]interface{})["bidopentime"] = newData.bidopentime
-					//	}else {
-					//
-					//	}
-					//}
+					if isMerger {
+						//合并记录
+						if len(newData.mergemap)>0 {
+							update_map["$set"].(map[string]interface{})["merge"] = newData.mergemap
+							//fmt.Println("合并长度:",len(newData.mergemap))
+						}
+
+						//更新合并后的数据
+						for _,value :=range mergeArr {
+							if value==1 {
+								update_map["$set"].(map[string]interface{})["area"] = newData.area
+								update_map["$set"].(map[string]interface{})["city"] = newData.city
+							}else if value==2 {
+								update_map["$set"].(map[string]interface{})["projectname"] = newData.projectname
+							}else if value==3 {
+								update_map["$set"].(map[string]interface{})["projectcode"] = newData.projectcode
+							}else if value==4 {
+								update_map["$set"].(map[string]interface{})["buyer"] = newData.buyer
+							}else if value==5 {
+								update_map["$set"].(map[string]interface{})["budget"] = newData.budget
+							}else if value==6 {
+								update_map["$set"].(map[string]interface{})["winner"] = newData.winner
+							}else if value==7 {
+								update_map["$set"].(map[string]interface{})["bidamount"] = newData.bidamount
+							}else if value==8 {
+								update_map["$set"].(map[string]interface{})["bidopentime"] = newData.bidopentime
+							}else {
+
+							}
+						}
+
+					}
 
 					//构建数据库更新用到的
 					updateExtract = append(updateExtract, []map[string]interface{}{