zhangjinkun há 5 anos atrás
pai
commit
9f6890385b
2 ficheiros alterados com 51 adições e 51 exclusões
  1. 27 29
      fullproject/src_v1/project.go
  2. 24 22
      fullproject/src_v1/task.go

+ 27 - 29
fullproject/src_v1/project.go

@@ -177,7 +177,7 @@ func (p *ProjectTask) startProjectMerge(info *Info, tmp map[string]interface{})
 
 			ex := 0
 			resArr := []*ProjectInfo{}
-			for _, res := range resN{
+			for _, res := range resN {
 				choose, e := CompareStatus(resN[0], info)
 				if !choose {
 					ex = e
@@ -220,7 +220,7 @@ func (p *ProjectTask) startProjectMerge(info *Info, tmp map[string]interface{})
 					}
 				}
 				p.UpdateProject(tmp, info, resArr[0], kv+1, resArr[0].comStr, ex)
-			}else {
+			} else {
 				bFindProject = false
 				findPid = ""
 			}
@@ -603,10 +603,10 @@ func (p *ProjectTask) NewCachePinfo(id primitive.ObjectID, thisinfo *Info, bidty
 		FirstTime:     thisinfo.Publishtime,
 		LastTime:      thisinfo.Publishtime,
 		Budget:        thisinfo.Budget,
-		Package: 	   pkg,
+		Package:       pkg,
 		Bidamount:     thisinfo.Bidamount,
-		Bidstatus:	   thisinfo.SubType,
-		Bidtype:	   bidtype,
+		Bidstatus:     thisinfo.SubType,
+		Bidtype:       bidtype,
 	}
 	if thisinfo.LenPTC > 5 {
 		p1.MPC = append(p1.MPC, thisinfo.PTC)
@@ -647,11 +647,11 @@ func (p *ProjectTask) UpdateProject(tmp map[string]interface{}, thisinfo *Info,
 			if bidstatus[bs] != "预告" && bidstatus[bs] != "合同" {
 				set["jgtime"] = tmp["publishtime"]
 			}
-		}else if tmp["infoformat"] == 2 {
+		} else if tmp["infoformat"] == 2 {
 			set["bidstatus"] = "拟建"
-		}else if tmp["subytpe"] == "招标" {
+		} else if tmp["subytpe"] == "招标" {
 			set["bidstatus"] = thisinfo.TopType
-		}else {
+		} else {
 			set["bidstatus"] = "其它"
 		}
 	}
@@ -705,7 +705,6 @@ func (p *ProjectTask) UpdateProject(tmp map[string]interface{}, thisinfo *Info,
 	//	set["buyerclass"] = pInfo.Buyerclass
 	//}
 
-
 	//8--代理机构
 	if (pInfo.Agency == "" && thisinfo.Agency != "") || (len([]rune(pInfo.Agency)) < 5 && len([]rune(thisinfo.Agency)) > 5) {
 		pInfo.Agency = thisinfo.Agency
@@ -773,10 +772,10 @@ func (p *ProjectTask) UpdateProject(tmp map[string]interface{}, thisinfo *Info,
 
 	if thisinfo.HasPackage { //多包处理
 		set["multipackage"] = 1
-		pkg, _, _:= PackageFormat(thisinfo, pInfo)
+		pkg, _, _ := PackageFormat(thisinfo, pInfo)
 		pInfo.Package = pkg
 		set["package"] = pInfo.Package
-	}else {
+	} else {
 		set["multipackage"] = 0
 	}
 
@@ -808,7 +807,6 @@ func (p *ProjectTask) UpdateProject(tmp map[string]interface{}, thisinfo *Info,
 	}
 }
 
-
 /**
  *	更新项目时,项目状态的处理
  *	返回是否新增项目,异常标记
@@ -821,29 +819,29 @@ func CompareStatus(project *ProjectInfo, info *Info) (bool, int) {
 	if info.TopType == "拟建" || info.TopType == "预告" || info.TopType == "招标" {
 		if project.Bidstatus == "拟建" || project.Bidstatus == "预告" || project.Bidstatus == "招标" {
 			return false, 0
-		}else {
+		} else {
 			return true, 0
 		}
-	}else if info.TopType == "结果" {
+	} else if info.TopType == "结果" {
 		if project.Bidstatus == "拟建" || project.Bidstatus == "预告" || project.Bidstatus == "招标" {
 			return false, 0
-		}else if project.Bidstatus == info.SubType {
+		} else if project.Bidstatus == info.SubType {
 			key := titleGetPc.FindStringSubmatch(info.ProjectName)
 			if key != nil {
 				return false, 0
-			}else {
+			} else {
 				return true, 0
 			}
-		}else if project.Bidstatus == "成交" && info.SubType == "中标" {
+		} else if project.Bidstatus == "成交" && info.SubType == "中标" {
 			return true, 0
-		}else if project.Bidstatus == "流标" || project.Bidstatus == "废标" {
+		} else if project.Bidstatus == "流标" || project.Bidstatus == "废标" {
 			return false, 2
-		}else if project.Bidstatus == "合同" || project.Bidstatus == "其它" {
+		} else if project.Bidstatus == "合同" || project.Bidstatus == "其它" {
 			return false, 3
-		}else {
+		} else {
 			return false, 0
 		}
-	}else {
+	} else {
 		return false, 0
 	}
 }
@@ -862,16 +860,16 @@ func ComparePlace(project *ProjectInfo, info *Info) bool {
 	if info.Area == project.Area {
 		if info.City == "" {
 			return false
-		}else if info.City == project.City {
+		} else if info.City == project.City {
 			if info.District == "" || info.District == project.District {
 				return false
-			}else {
+			} else {
 				return true
 			}
-		}else {
+		} else {
 			return true
 		}
-	}else {
+	} else {
 		return true
 	}
 }
@@ -892,7 +890,7 @@ func packageEle(map1 map[string]interface{}) (map[string]interface{}, float64, f
 	budget := 0.0
 	bidamount := 0.0
 	p2 := map[string]interface{}{}
-	for _, k := range PackageEle{
+	for _, k := range PackageEle {
 		if map1[k] != nil {
 			p2[k] = map1[k]
 		}
@@ -931,7 +929,7 @@ func PackageFormat(info *Info, project *ProjectInfo) (map[string]interface{}, fl
 						continue
 					}
 					if v4, ok := v3.([]map[string]interface{}); ok {
-						if v4[0]["origin"].(string) == v2["origin"].(string) && v4[0]["name"].(string) == v2["name"].(string) {
+						if qu.ObjToString(v4[0]["origin"]) == qu.ObjToString(v2["origin"]) && qu.ObjToString(v4[0]["name"]) == qu.ObjToString(v2["name"]) {
 							v4 = append(v4, v2)
 							p1[k] = v4
 							addFlag = true
@@ -946,7 +944,7 @@ func PackageFormat(info *Info, project *ProjectInfo) (map[string]interface{}, fl
 				}
 			}
 		}
-	}else {
+	} else {
 		p1["ids"] = []string{info.Id}
 		for k, v := range info.Package {
 			v1 := v.(map[string]interface{})
@@ -959,4 +957,4 @@ func PackageFormat(info *Info, project *ProjectInfo) (map[string]interface{}, fl
 		}
 	}
 	return p1, budget, bidamount
-}
+}

+ 24 - 22
fullproject/src_v1/task.go

@@ -38,10 +38,10 @@ type ProjectTask struct {
 	//采购单位、项目名称、项目编号
 	mapPb, mapPn, mapPc map[string]*Key
 	//流程数据  字段相同,直接合并
-	mapHref map[string]string
+	mapHref     map[string]string
 	mapHrefLock sync.Mutex
 	//站点
-	mapSite map[string]*Site
+	mapSite     map[string]*Site
 	mapSiteLock sync.Mutex
 	//更新或新增通道
 	updatePool chan []map[string]interface{}
@@ -202,7 +202,7 @@ func (p *ProjectTask) clearMem() {
 							}
 						}
 					}
-					for kHref, pid := range p.mapHref{
+					for kHref, pid := range p.mapHref {
 						if pid == k {
 							delete(p.mapHref, kHref)
 						}
@@ -395,11 +395,11 @@ func (p *ProjectTask) enter(db, coll string, q map[string]interface{}) {
 						if p.currentType == "updateInfo" {
 							//招标信息更改合并
 							p.updateJudge(tmp, info)
-						}else {
+						} else {
 							//普通合并
 							p.CommonMerge(tmp, info)
 						}
-					}else {
+					} else {
 						//信息错误,进行更新
 					}
 				}(tmp)
@@ -487,11 +487,11 @@ func (p *ProjectTask) CommonMerge(tmp map[string]interface{}, info *Info) {
 					p.AllIdsMap[id] = &ID{Id: id, P: p1}
 					p.AllIdsMapLock.Unlock()
 				}
-			}else {
+			} else {
 				//项目合并
 				p.startProjectMerge(info, tmp)
 			}
-		}else {
+		} else {
 			//项目合并
 			p.startProjectMerge(info, tmp)
 		}
@@ -593,13 +593,13 @@ func ParseInfo(tmp map[string]interface{}) (info *Info) {
 	return thisinfo
 }
 
-func (p *ProjectTask) updateJudge(tmp map[string]interface{}, info *Info)  {
+func (p *ProjectTask) updateJudge(tmp map[string]interface{}, info *Info) {
 	index := -1
 	pInfoId := ""
 	p.AllIdsMapLock.Lock()
-	F:
+F:
 	for k, ID := range p.AllIdsMap {
-		for i, id := range ID.P.Ids{
+		for i, id := range ID.P.Ids {
 			if info.Id == id {
 				pInfoId = k
 				index = i
@@ -614,7 +614,7 @@ func (p *ProjectTask) updateJudge(tmp map[string]interface{}, info *Info)  {
 			p.currentTime = info.Publishtime
 			p.startProjectMerge(info, tmp)
 		}
-	}else {
+	} else {
 		tmpPro := MongoTool.FindById(ProjectColl, pInfoId)
 		infoList := []interface{}(tmpPro["list"].(primitive.A))
 		infoMap := infoList[index].(map[string]interface{})
@@ -627,7 +627,7 @@ func (p *ProjectTask) updateJudge(tmp map[string]interface{}, info *Info)  {
 			p.mapHrefLock.Lock()
 			pid := p.mapHref[proHref]
 			p.mapHrefLock.Unlock()
-			if  pid == pInfoId {
+			if pid == pInfoId {
 				p.modifyUpdate(pInfoId, index, info, tmp, tmpPro, modifyMap)
 				return
 			}
@@ -637,7 +637,7 @@ func (p *ProjectTask) updateJudge(tmp map[string]interface{}, info *Info)  {
 			//合并、修改
 			log.Println("合并修改更新", "----------------------------")
 			p.mergeAndModify(pInfoId, index, info, tmp, tmpPro, modifyMap)
-		}else {
+		} else {
 			//修改
 			log.Println("修改更新", "----------------------------")
 			p.modifyUpdate(pInfoId, index, info, tmp, tmpPro, modifyMap)
@@ -659,7 +659,7 @@ var Elements = []string{
 
 /**
 判断修改的字段是否是影响合并流程的要素字段
- */
+*/
 func modifyEle(tmpPro map[string]interface{}, tmp map[string]interface{}) (map[string]interface{}, bool) {
 	modifyMap := map[string]interface{}{}
 	for k, _ := range tmpPro {
@@ -671,7 +671,7 @@ func modifyEle(tmpPro map[string]interface{}, tmp map[string]interface{}) (map[s
 		}
 	}
 	for k, _ := range modifyMap {
-		for _, str := range Elements{
+		for _, str := range Elements {
 			if k == str {
 				return modifyMap, true
 			}
@@ -682,7 +682,7 @@ func modifyEle(tmpPro map[string]interface{}, tmp map[string]interface{}) (map[s
 }
 
 //补全位置信息
-func (p *ProjectTask) fillInPlace(tmp map[string]interface{})  {
+func (p *ProjectTask) fillInPlace(tmp map[string]interface{}) {
 	area := util.ObjToString(tmp["area"])
 	city := util.ObjToString(tmp["city"])
 	district := util.ObjToString(tmp["district"])
@@ -690,7 +690,10 @@ func (p *ProjectTask) fillInPlace(tmp map[string]interface{})  {
 		return
 	}
 
-	tmpSite := tmp["site"].(string)
+	tmpSite, _ := tmp["site"].(string)
+	if tmpSite == "" {
+		return
+	}
 	p.mapSiteLock.Lock()
 	defer p.mapSiteLock.Unlock()
 	site := p.mapSite[tmpSite]
@@ -704,26 +707,25 @@ func (p *ProjectTask) fillInPlace(tmp map[string]interface{})  {
 			}
 			if area != site.Area {
 				return
-			}else {
+			} else {
 				if city == site.City {
 					if district == "" {
 						tmp["district"] = site.District
 						return
 					}
-				}else if city == "" {
+				} else if city == "" {
 					tmp["city"] = site.City
 					tmp["district"] = site.District
 					return
 				}
 			}
-		}else {
+		} else {
 			tmp["area"] = site.Area
 			tmp["city"] = site.City
 			tmp["district"] = site.District
 			return
 		}
 	}
-
 }
 
 //从数组中删除元素
@@ -734,4 +736,4 @@ func deleteSlice(arr []string, v string) []string {
 		}
 	}
 	return arr
-}
+}