Jianghan 8 tháng trước cách đây
mục cha
commit
1f466a84c4
4 tập tin đã thay đổi với 174 bổ sung140 xóa
  1. 1 0
      src/config.json
  2. 164 139
      src/front/project.go
  3. 0 1
      src/front/remark.go
  4. 9 0
      src/util/config.go

+ 1 - 0
src/config.json

@@ -8,6 +8,7 @@
     "bidding":{
         "addr":"192.168.3.166:27082",
         "db": "wjh",
+        "aidb": "wjh",
         "coll1": "bidding",
         "coll2": "bidding_back",
         "size": 10,

+ 164 - 139
src/front/project.go

@@ -1138,21 +1138,38 @@ func GetDataById(idInfoArr []util.Data, importType, s_sourceinfo string, success
 			id := tmpData.ID
 			tmp := tmpData.Info
 			//1.查bidding
-			tmpBidColl := util.BidColl1 //bidding
-			//查询bidding
-			if id < util.BIDDINGSTARTID {
-				tmpBidColl = util.BidColl2 //bidding_back
-			}
-			bidData, _ := util.MgoB.FindById(tmpBidColl, id, nil)
-			if qu.ObjToString((*bidData)["toptype"]) != "采购意向" {
-				// 导入数据时,删掉purchasinglist(排除采购意向数据)
-				delete(*bidData, "purchasinglist")
-				// 删除多包字段 20230518
-				delete(*bidData, "package")
-			}
-			if bidData != nil && len(*bidData) > 0 { //bidding表数据存在
+			var bidData *map[string]interface{}
+			var extData *map[string]interface{}
+			if s_sourceinfo != "f_sourceinfo_test_2" {
+				//if s_sourceinfo != "f_sourceinfo_chinaunicom_zb_data" {
+				tmpBidColl := util.BidColl1 //bidding
+				//查询bidding
+				if id < util.BIDDINGSTARTID {
+					tmpBidColl = util.BidColl2 //bidding_back
+				}
+				bidData, _ = util.MgoB.FindById(tmpBidColl, id, nil)
+				if bidData == nil || len(*bidData) == 0 {
+					lock.Lock()
+					*success = false
+					if importType == "excel" {
+						msgArr = append(msgArr, "第"+fmt.Sprint(index+2)+"行,未查询到id:"+id)
+						//*msg += "第" + fmt.Sprint(num+2) + "行未查询到数据:" + id + ";\n"
+					} else {
+						msgArr = append(msgArr, "未查询id:"+id)
+						//*msg += "未查询到数据_id:" + id + ";\n"
+					}
+					lock.Unlock()
+					return
+				}
+				if qu.ObjToString((*bidData)["toptype"]) != "采购意向" {
+					// 导入数据时,删掉purchasinglist(排除采购意向数据)
+					delete(*bidData, "purchasinglist")
+					// 删除多包字段 20230518
+					delete(*bidData, "package")
+				}
+				//bidding表数据存在
 				//2.查extract
-				extData, _ := util.MgoE.FindById(util.ExtColl1, id, map[string]interface{}{"attach_text": 0, "field_source": 0, "regions_log": 0})
+				extData, _ = util.MgoE.FindById(util.ExtColl1, id, map[string]interface{}{"attach_text": 0, "field_source": 0, "regions_log": 0})
 				if extData == nil || len(*extData) == 0 {
 					extData, _ = util.MgoE.FindById(util.ExtColl2, id, map[string]interface{}{"attach_text": 0, "field_source": 0, "regions_log": 0})
 				}
@@ -1167,144 +1184,152 @@ func GetDataById(idInfoArr []util.Data, importType, s_sourceinfo string, success
 				}
 				//3.删除item
 				//删除item
-				delete((*bidData), "item")
-				//4.对比marked表,对比marked表是否已标注该数据
-				markData, _ := util.Mgo.FindById(util.AllToColl, id, nil)
-				if markData != nil && len(*markData) > 0 {
-					UpdateMarkColl(bidData, markData, &tagInfoMap, &baseInfoMap) //比对更新数据
-				} else {
-					baseInfoMap["i_ckdata"] = 0 //设置ck_data默认值0
-					//多包、中标候选人、标的信息是否抽取
-					//if packageMap, ok := (*bidData)["package"].(map[string]interface{}); ok && len(packageMap) > 0 {
-					//	baseInfoMap["b_pkgisext"] = true
-					//} else {
-					//	baseInfoMap["b_pkgisext"] = false
-					//}
-					//if winorderArr, ok := (*bidData)["winnerorder"].([]interface{}); ok && len(winorderArr) > 0 {
-					//	baseInfoMap["b_wodrisext"] = true
-					//} else {
-					//	baseInfoMap["b_wodrisext"] = false
-					//}
-					//if purchArr, ok := (*bidData)["purchasinglist"].([]interface{}); ok && len(purchArr) > 0 {
-					//	baseInfoMap["b_pclisext"] = true
-					//} else {
-					//	baseInfoMap["b_pclisext"] = false
-					//}
-				}
-				//合并导入表中客户所需的字段
-				if len(tmp) > 0 {
-					for k, v := range tmp {
-						(*bidData)[k] = v
+				delete(*bidData, "item")
+			} else {
+				bidData, _ = util.MgoAiB.FindById("bidding", id, nil)
+				if bidData == nil || len(*bidData) == 0 {
+					lock.Lock()
+					*success = false
+					if importType == "excel" {
+						msgArr = append(msgArr, "第"+fmt.Sprint(index+2)+"行,未查询到id:"+id)
+						//*msg += "第" + fmt.Sprint(num+2) + "行未查询到数据:" + id + ";\n"
+					} else {
+						msgArr = append(msgArr, "未查询id:"+id)
+						//*msg += "未查询到数据_id:" + id + ";\n"
 					}
+					lock.Unlock()
+					return
 				}
-				//补充id
-				//(*bidData)["id"] = id
+			}
 
-				//if stype == "syncoll" { //同步数据时删除原始数据
-				//	if util.MgoM.Delete(coll, `{"id":"`+id+`"}`) == 0 {
-				//		lock.Lock()
-				//		*msg += "同步未删除成功数据id:" + id + ";\n"
-				//		*success = false
-				//		lock.Unlock()
-				//	}
+			//4.对比marked表,对比marked表是否已标注该数据
+			markData, _ := util.Mgo.FindById(util.AllToColl, id, nil)
+			if markData != nil && len(*markData) > 0 {
+				UpdateMarkColl(bidData, markData, &tagInfoMap, &baseInfoMap) //比对更新数据
+			} else {
+				baseInfoMap["i_ckdata"] = 0 //设置ck_data默认值0
+				//多包、中标候选人、标的信息是否抽取
+				//if packageMap, ok := (*bidData)["package"].(map[string]interface{}); ok && len(packageMap) > 0 {
+				//	baseInfoMap["b_pkgisext"] = true
+				//} else {
+				//	baseInfoMap["b_pkgisext"] = false
 				//}
-				// 处理	package winner_all
-				if p, o1 := (*bidData)["package"].(map[string]interface{}); o1 {
-					for _, v := range p {
-						v1 := v.(map[string]interface{})
-						t := make(map[string]interface{})
-						if v1["winner"] != nil {
-							t["winner"] = v1["winner"]
-						}
-						if v1["bidamount"] != nil {
-							t["bidamount"] = qu.Float64All(v1["bidamount"])
-						}
-						if len(t) > 0 {
-							v1["winner_all"] = append([]map[string]interface{}{}, t)
-						}
-					}
+				//if winorderArr, ok := (*bidData)["winnerorder"].([]interface{}); ok && len(winorderArr) > 0 {
+				//	baseInfoMap["b_wodrisext"] = true
+				//} else {
+				//	baseInfoMap["b_wodrisext"] = false
+				//}
+				//if purchArr, ok := (*bidData)["purchasinglist"].([]interface{}); ok && len(purchArr) > 0 {
+				//	baseInfoMap["b_pclisext"] = true
+				//} else {
+				//	baseInfoMap["b_pclisext"] = false
+				//}
+			}
+			//合并导入表中客户所需的字段
+			if len(tmp) > 0 {
+				for k, v := range tmp {
+					(*bidData)[k] = v
 				}
-				// 补充filetext
-				(*bidData)["filetext"] = util.GetFileText(*bidData)
-				// 6.项目合并信息
-				project, _ := util.MgoE.Find(util.ProjectColl, bson.M{"ids": id}, nil, nil, true, -1, -1)
-				//esQ := `{"query":{"bool":{"must":[{"term":{"ids":"` + id + `"}}]}}}`
-				//info := util.Es.Get("projectset", esQ)
-				if project != nil && len((*project)[0]) > 0 {
-					qu.Debug(*project)
-					ids := qu.ObjArrToStringArr((*project)[0]["ids"].([]interface{}))
-					if len(ids) > 0 {
-						var infolist []map[string]interface{}
-						for _, v := range ids {
-							if v == id { // 当前公告
-								continue
-							}
-							if v < util.BIDDINGSTARTID {
-								tmpBidColl = util.BidColl2 //bidding_back
-							}
-							bid, b := util.MgoB.FindById(tmpBidColl, v, nil)
-							if b && len(*bid) > 0 {
-								tmp := make(map[string]interface{})
-								tmp["id"] = v
-								tmp["title"] = (*bid)["title"]
-								tmp["href"] = (*bid)["href"]
-								tmp["toptype"] = (*bid)["toptype"]
-								tmp["subtype"] = (*bid)["subtype"]
-								tmp["publishtime"] = (*bid)["publishtime"]
-								tmp["detail"] = (*bid)["detail"]
-								tmp["filetext"] = util.GetFileText(*bid)
-								infolist = append(infolist, tmp)
-							}
-						}
-						(*bidData)["info"] = infolist
+			}
+			//补充id
+			//(*bidData)["id"] = id
+
+			//if stype == "syncoll" { //同步数据时删除原始数据
+			//	if util.MgoM.Delete(coll, `{"id":"`+id+`"}`) == 0 {
+			//		lock.Lock()
+			//		*msg += "同步未删除成功数据id:" + id + ";\n"
+			//		*success = false
+			//		lock.Unlock()
+			//	}
+			//}
+			// 处理	package winner_all
+			if p, o1 := (*bidData)["package"].(map[string]interface{}); o1 {
+				for _, v := range p {
+					v1 := v.(map[string]interface{})
+					t := make(map[string]interface{})
+					if v1["winner"] != nil {
+						t["winner"] = v1["winner"]
+					}
+					if v1["bidamount"] != nil {
+						t["bidamount"] = qu.Float64All(v1["bidamount"])
+					}
+					if len(t) > 0 {
+						v1["winner_all"] = append([]map[string]interface{}{}, t)
 					}
-				} else {
-					qu.Debug("Projectset Find Error", id)
-				}
-				baseInfoMap["id"] = id
-				_id := (*bidData)["_id"]
-				delete(*bidData, "_id")
-				//保存数据
-				baseInfoMap["_id"] = _id
-				baseInfoMap["v_baseinfo"] = bidData
-				if len(tagInfoMap) > 0 {
-					baseInfoMap["v_taginfo"] = tagInfoMap
-				}
-				baseInfoMap["i_createtime"] = time.Now().Unix()
-				baseInfoMap["b_isgivegroup"] = false //是否分配给用户组
-				baseInfoMap["b_istag"] = false       //是否已标注
-				//baseInfoMap["b_cleartag"] = false    //是否清理标注信息
-				baseInfoMap["b_isgiveuser"] = false //是否分配给用户
-				baseInfoMap["b_check"] = false      // 质检标记
-				baseInfoMap["b_isEff"] = false      // 标的物有效性
-				if newAdd {
-					// 新增数据带上数据达标标记
-					baseInfoMap["b_isprchasing"] = true
-					baseInfoMap["b_istagging"] = true
 				}
-				if util.Mgo.SaveByOriID(s_sourceinfo, baseInfoMap) {
-					atomic.AddInt64(successNum, 1) //保存成功计数
-				} else {
-					lock.Lock()
-					//*success = false
-					if importType == "excel" {
-						msgArr = append(msgArr, "第"+fmt.Sprint(index+2)+"行未导入id:"+id)
-						//*msg += "第" + fmt.Sprint(num+2) + "行未保存成功数据_id:" + id + ";\n"
-					} else {
-						msgArr = append(msgArr, "未导入id:"+id)
-						//*msg += "未保存成功数据_id:" + id + ";\n"
+			}
+			// 补充filetext
+			(*bidData)["filetext"] = util.GetFileText(*bidData)
+			// 6.项目合并信息
+			project, _ := util.MgoE.Find(util.ProjectColl, bson.M{"ids": id}, nil, nil, true, -1, -1)
+			//esQ := `{"query":{"bool":{"must":[{"term":{"ids":"` + id + `"}}]}}}`
+			//info := util.Es.Get("projectset", esQ)
+			if project != nil && len((*project)[0]) > 0 {
+				qu.Debug(*project)
+				ids := qu.ObjArrToStringArr((*project)[0]["ids"].([]interface{}))
+				if len(ids) > 0 {
+					var infolist []map[string]interface{}
+					for _, v := range ids {
+						if v == id { // 当前公告
+							continue
+						}
+						var coll string
+						if v < util.BIDDINGSTARTID {
+							coll = util.BidColl2 //bidding_back
+						} else {
+							coll = util.BidColl1
+						}
+						bid, b := util.MgoB.FindById(coll, v, nil)
+						if b && len(*bid) > 0 {
+							tmp := make(map[string]interface{})
+							tmp["id"] = v
+							tmp["title"] = (*bid)["title"]
+							tmp["href"] = (*bid)["href"]
+							tmp["toptype"] = (*bid)["toptype"]
+							tmp["subtype"] = (*bid)["subtype"]
+							tmp["publishtime"] = (*bid)["publishtime"]
+							tmp["detail"] = (*bid)["detail"]
+							tmp["filetext"] = util.GetFileText(*bid)
+							infolist = append(infolist, tmp)
+						}
 					}
-					lock.Unlock()
+					(*bidData)["info"] = infolist
 				}
+			} else {
+				qu.Debug("Projectset Find Error", id)
+			}
+			baseInfoMap["id"] = id
+			_id := (*bidData)["_id"]
+			delete(*bidData, "_id")
+			//保存数据
+			baseInfoMap["_id"] = _id
+			baseInfoMap["v_baseinfo"] = bidData
+			if len(tagInfoMap) > 0 {
+				baseInfoMap["v_taginfo"] = tagInfoMap
+			}
+			baseInfoMap["i_createtime"] = time.Now().Unix()
+			baseInfoMap["b_isgivegroup"] = false //是否分配给用户组
+			baseInfoMap["b_istag"] = false       //是否已标注
+			//baseInfoMap["b_cleartag"] = false    //是否清理标注信息
+			baseInfoMap["b_isgiveuser"] = false //是否分配给用户
+			baseInfoMap["b_check"] = false      // 质检标记
+			baseInfoMap["b_isEff"] = false      // 标的物有效性
+			if newAdd {
+				// 新增数据带上数据达标标记
+				baseInfoMap["b_isprchasing"] = true
+				baseInfoMap["b_istagging"] = true
+			}
+			if util.Mgo.SaveByOriID(s_sourceinfo, baseInfoMap) {
+				atomic.AddInt64(successNum, 1) //保存成功计数
 			} else {
 				lock.Lock()
-				*success = false
+				//*success = false
 				if importType == "excel" {
-					msgArr = append(msgArr, "第"+fmt.Sprint(index+2)+"行,未查询到id:"+id)
-					//*msg += "第" + fmt.Sprint(num+2) + "行未查询到数据:" + id + ";\n"
+					msgArr = append(msgArr, "第"+fmt.Sprint(index+2)+"行未导入id:"+id)
+					//*msg += "第" + fmt.Sprint(num+2) + "行未保存成功数据_id:" + id + ";\n"
 				} else {
-					msgArr = append(msgArr, "未查询id:"+id)
-					//*msg += "未查询到数据_id:" + id + ";\n"
+					msgArr = append(msgArr, "未导入id:"+id)
+					//*msg += "未保存成功数据_id:" + id + ";\n"
 				}
 				lock.Unlock()
 			}

+ 0 - 1
src/front/remark.go

@@ -1812,7 +1812,6 @@ func (f *Front) JyUserDataMark() {
 	isEff, _ := f.GetBool("isEff")
 	pid := f.GetString("pid")
 	data := f.GetString("data")
-
 	err := json.Unmarshal([]byte(data), &obj)
 	if err != nil {
 		qu.Debug("Json Unmarshal Error")

+ 9 - 0
src/util/config.go

@@ -21,6 +21,7 @@ var (
 	AllToColl           string              //所有标注数据汇总表
 	Password            string              //默认登陆密码
 	MgoB                *mongodb.MongodbSim //bidding
+	MgoAiB              *mongodb.MongodbSim //bidding AI
 	BidColl1            string
 	BidColl2            string
 	MgoE                *mongodb.MongodbSim //extract
@@ -98,6 +99,14 @@ func InitConfig() {
 		Password:    qu.ObjToString(bid["password"]),
 	}
 	MgoB.InitPool()
+	MgoAiB = &mongodb.MongodbSim{
+		MongodbAddr: qu.ObjToString(bid["addr"]),
+		DbName:      qu.ObjToString(bid["aidb"]),
+		Size:        qu.IntAll(bid["size"]),
+		UserName:    qu.ObjToString(bid["username"]),
+		Password:    qu.ObjToString(bid["password"]),
+	}
+	MgoAiB.InitPool()
 
 	//biddingHConf := Sysconfig["high_mark"].(map[string]interface{})
 	//if biddingHConf == nil || len(biddingHConf) == 0 {