Forráskód Böngészése

Merge branch 'dev3.4' of http://192.168.3.207:10080/qmx/jy-data-extract into dev3.4

fengweiqiang 5 éve
szülő
commit
9668e3c75d
2 módosított fájl, 45 hozzáadás és 59 törlés
  1. 11 11
      udpfilterdup/src/datamap.go
  2. 34 48
      udpfilterdup/src/main.go

+ 11 - 11
udpfilterdup/src/datamap.go

@@ -544,7 +544,7 @@ func quickHeavyMethodOne(v *Info ,info *Info) bool {
 			if tenderRepeat_C(v,info) {
 				return false
 			}else {
-				reason = fmt.Sprintf(reason,"---招标类")
+				reason = reason+"---招标类"
 				return true
 			}
 		}else {
@@ -557,7 +557,7 @@ func quickHeavyMethodOne(v *Info ,info *Info) bool {
 			if winningRepeat_C(v,info) {
 				return false
 			}else {
-				reason = fmt.Sprintf(reason,"---中标类")
+				reason = reason+"---中标类"
 				return true
 			}
 		}else {
@@ -570,7 +570,7 @@ func quickHeavyMethodOne(v *Info ,info *Info) bool {
 			if contractRepeat_C(v,info) {
 				return false
 			}else {
-				reason = fmt.Sprintf(reason,"---合同类")
+				reason = reason+"---合同类"
 				return true
 			}
 		}else {
@@ -596,7 +596,7 @@ func quickHeavyMethodTwo(v *Info ,info *Info) bool {
 				if tenderRepeat_C(v,info) { //有不同
 					return false
 				}else {
-					reason = fmt.Sprintf(reason,"---招标类")
+					reason = reason+"---招标类"
 					return true
 				}
 			}else{
@@ -609,7 +609,7 @@ func quickHeavyMethodTwo(v *Info ,info *Info) bool {
 				if winningRepeat_C(v,info) { //有不同
 					return false
 				}else {
-					reason = fmt.Sprintf(reason,"---中标类")
+					reason = reason+"---中标类"
 					return true
 				}
 			}else{
@@ -622,7 +622,7 @@ func quickHeavyMethodTwo(v *Info ,info *Info) bool {
 				if contractRepeat_C(v,info) { //有不同
 					return false
 				}else {
-					reason = fmt.Sprintf(reason,"---合同类")
+					reason = reason+"---合同类"
 					return true
 				}
 			}else {
@@ -640,7 +640,7 @@ func quickHeavyMethodTwo(v *Info ,info *Info) bool {
 	//机构最少一个为空
 	if v.agency==""||info.agency=="" {
 		if quickHeavyMethodOne(v,info) {
-			reason = fmt.Sprintf(reason,"---机构最少一个空")
+			reason = reason+"---机构最少一个空"
 			return true
 		}else {
 			return false
@@ -693,7 +693,7 @@ func tenderRepeat_A(v *Info ,info *Info) bool {
 		(p2&&p4&&p9)||(p2&&p4&&p10)||(p2&&p4&&p11)||
 		(p3&&p4&&p9)||(p3&&p4&&p10)||(p3&&p4&&p11)||
 		(p4&&p9&&p10)||(p4&&p9&&p11)||(p9&&p10&&p11) {
-		reason = fmt.Sprintf(reason,"满足招标A,3要素组合-",ss,",")
+		reason = reason+"满足招标A,3要素组合-"+ss+","
 		return true
 	}
 	return false
@@ -731,7 +731,7 @@ func tenderRepeat_B(v *Info ,info *Info) bool {
 		if n==2 &&m==2 {
 			return false
 		}else {
-			reason = fmt.Sprintf(reason,"满足招标B,七选二,")
+			reason = reason+"满足招标B,七选二,"
 			return true
 		}
 	}
@@ -798,7 +798,7 @@ func winningRepeat_A(v *Info ,info *Info) bool {
 		(p2&&p5&&p6)||(p2&&p5&&p11)||(p2&&p6&&p11)||
 		(p3&&p5&&p6)||(p3&&p5&&p11)||(p3&&p6&&p11)||
 		(p5&&p6&&p11){
-		reason = fmt.Sprintf(reason,"满足中标A,3要素组合-",ss,",")
+		reason = reason+"满足中标A,3要素组合-"+ss+","
 		return true
 	}
 
@@ -833,7 +833,7 @@ func winningRepeat_B(v *Info ,info *Info) bool {
 		if n==2 &&m==2 {
 			return false
 		}else {
-			reason = fmt.Sprintf(reason,"满足中标B,六选二,")
+			reason = reason+"满足中标B,六选二,"
 			return true
 		}
 	}

+ 34 - 48
udpfilterdup/src/main.go

@@ -354,9 +354,11 @@ 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{}		//更换新的数据池数据
+					if repeateN<0 {
+						fmt.Println(mergeArr)
+					}
 					var id_map  = map[string]interface{}{}
 					repeat_id := ""
 					//合并操作--评功权重打分-合并完替换原始数据池
@@ -367,57 +369,28 @@ func task(data []byte, mapInfo map[string]interface{}) {
 						DM.replaceSourceData(newData,source.id) //替换
 						id_map["_id"]= util.StringTOBsonId(source.id)
 						repeat_id = source.id
-						//对比的数据打判重标签
-						//updateExtract = append(updateExtract, []map[string]interface{}{
-						//	map[string]interface{}{
-						//		"_id": tmp["_id"],
-						//	},
-						//	map[string]interface{}{
-						//		"$set": map[string]interface{}{
-						//			"repeat":   1,
-						//			"repeatid": source.id,
-						//		},
-						//	},
-						//})
-						//if len(updateExtract) > 500 {
-						//	mgo.UpdateBulk(extract, updateExtract...)
-						//	updateExtract = [][]map[string]interface{}{}
-						//}
-
 					}else {
 						//已对比数据为标准 ,数据池的数据打判重标签
 						newData,mergeArr= mergeDataFields(info,source)
 						DM.replaceSourceData(newData,source.id)//替换
 						id_map["_id"]= util.StringTOBsonId(info.id)
 						repeat_id = info.id
-						//数据池的数据打判重标签
-						//updateExtract = append(updateExtract, []map[string]interface{}{
-						//	map[string]interface{}{
-						//		"_id": util.StringTOBsonId(source.id),
-						//	},
-						//	map[string]interface{}{
-						//		"$set": map[string]interface{}{
-						//			"repeat":   1,
-						//			"repeatid": info.id,
-						//		},
-						//	},
-						//})
-						//
-						//if len(updateExtract) > 500 {
-						//	mgo.UpdateBulk(extract, updateExtract...)
-						//	updateExtract = [][]map[string]interface{}{}
-						//}
-
 					}
-					//
+
 					var update_map  = map[string]interface{}{
 						"$set": map[string]interface{}{
 							"reason":reason,
 							"repeat":"1",
 							"repeatid":repeat_id,
-							"merge":newData.mergemap,
 						},
 					}
+
+					if len(newData.mergemap)>0 {
+						update_map["$set"].(map[string]interface{})["merge"] = newData.mergemap
+						fmt.Println(newData.mergemap,"---",len(newData.mergemap))
+					}
+
+
 					//更新合并后的数据
 					for _,value :=range mergeArr {
 						if value==1 {
@@ -442,6 +415,9 @@ func task(data []byte, mapInfo map[string]interface{}) {
 						}
 					}
 
+
+
+
 					//构建数据库更新用到的
 					updateExtract = append(updateExtract, []map[string]interface{}{
 						id_map,
@@ -632,8 +608,8 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
 						repeateN++
 						mapLock.Lock()
 
-						var mergeArr []int64 	//更改合并数组记录
-						var newData *Info		//更换新的数据池数据
+						var mergeArr = []int64{} 	//更改合并数组记录
+						var newData  = &Info{}		//更换新的数据池数据
 
 						var id_map  = map[string]interface{}{}
 						//合并操作--评功权重打分-合并完替换原始数据池
@@ -641,6 +617,12 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
 						if basic_bool {
 							//已原始数据为标准-对比数据打判重标签
 							newData,mergeArr= mergeDataFields(source,info)
+
+							//if repeateN<2 {
+							//	//
+							//	fmt.Println(newData.mergemap,mergeArr)
+							//}
+
 							DM.replaceSourceData(newData,source.id) //替换
 							id_map["_id"]= util.StringTOBsonId(source.id)
 
@@ -680,6 +662,9 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
 
 						}
 
+						//newData.mergemap["mark"] = "合并操作"
+
+
 
 						//
 						var update_map  = map[string]interface{}{
@@ -688,6 +673,10 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
 								"merge":newData.mergemap,
 							},
 						}
+
+
+
+
 						//更新合并后的数据
 						for _,value :=range mergeArr {
 							if value==1 {
@@ -712,6 +701,9 @@ func historyTask(data []byte, mapInfo map[string]interface{}) {
 							}
 						}
 
+
+
+
 						//构建数据库更新用到的
 						updateExtract = append(updateExtract, []map[string]interface{}{
 							id_map,
@@ -786,7 +778,6 @@ func mergeDataFields(source *Info, info *Info) (*Info,[]int64){
 		arrA = append(arrA,source.area)
 		source.mergemap["area"] = arrA
 
-
 		var arrC []string
 		if source.mergemap["city"]==nil {
 			arrC = make([]string, 0)
@@ -899,12 +890,7 @@ func mergeDataFields(source *Info, info *Info) (*Info,[]int64){
 		mergeArr = append(mergeArr,8)
 	}
 
-
-
-
-
 	//以上合并过于简单,待进一步优化
-
 	return source,mergeArr
 }