|
@@ -1097,6 +1097,9 @@ func ExtRuleCoreByPkgReg(j *ju.Job, in *RegLuaInfo, e *ExtractTask) {
|
|
if in.Field == "budget" && vbpkg.Budget > 0 {
|
|
if in.Field == "budget" && vbpkg.Budget > 0 {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
+ if in.Field == "agencyfee" && vbpkg.Agencyfee > 0 {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
if in.Field == "bidamount" && vbpkg.Bidamount > 0 {
|
|
if in.Field == "bidamount" && vbpkg.Bidamount > 0 {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
@@ -1191,7 +1194,17 @@ func ExtRuleCoreByPkgReg(j *ju.Job, in *RegLuaInfo, e *ExtractTask) {
|
|
j.BlockPackage[k].IsTrueBudget = true
|
|
j.BlockPackage[k].IsTrueBudget = true
|
|
}
|
|
}
|
|
break
|
|
break
|
|
- } else if in.Field == "bidamount" && vbpkg.Bidamount <= 0 {
|
|
|
|
|
|
+ } else if in.Field == "agencyfee" && vbpkg.Agencyfee <= 0 {
|
|
|
|
+ lock.Lock()
|
|
|
|
+ cfn := e.ClearFn[in.Field]
|
|
|
|
+ lock.Unlock()
|
|
|
|
+ data := clear.DoClearFn(cfn, []interface{}{strings.TrimSpace(rep[in.Field+"_"+fmt.Sprint(i)]), j.Content}, j.SpiderCode, j.IsClearnMoney)
|
|
|
|
+ if data[len(data)-1].(bool) {
|
|
|
|
+ j.BlockPackage[k].Agencyfee = qu.Float64All(data[0])
|
|
|
|
+ j.BlockPackage[k].IsTrueAgencyfee = true
|
|
|
|
+ }
|
|
|
|
+ break
|
|
|
|
+ }else if in.Field == "bidamount" && vbpkg.Bidamount <= 0 {
|
|
lock.Lock()
|
|
lock.Lock()
|
|
cfn := e.ClearFn[in.Field]
|
|
cfn := e.ClearFn[in.Field]
|
|
lock.Unlock()
|
|
lock.Unlock()
|
|
@@ -1936,7 +1949,7 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
|
|
tmp[v.Field] = v.Value
|
|
tmp[v.Field] = v.Value
|
|
break
|
|
break
|
|
}
|
|
}
|
|
- if v.Score > -1 && (v.Field != "bidamount" && v.Field != "budget") && len(strings.TrimSpace(fmt.Sprint(v.Value))) > 0 {
|
|
|
|
|
|
+ if v.Score > -1 && (v.Field != "bidamount" && v.Field != "budget" ) && len(strings.TrimSpace(fmt.Sprint(v.Value))) > 0 {
|
|
tmp[v.Field] = v.Value
|
|
tmp[v.Field] = v.Value
|
|
break
|
|
break
|
|
}
|
|
}
|
|
@@ -1953,7 +1966,7 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
|
|
if len(j.PackageInfo) > 0 { //分包信息
|
|
if len(j.PackageInfo) > 0 { //分包信息
|
|
tmp["package"] = j.PackageInfo
|
|
tmp["package"] = j.PackageInfo
|
|
//包预算,中标金额合并大于抽取就覆盖
|
|
//包预算,中标金额合并大于抽取就覆盖
|
|
- var tmpBidamount, tmpBudget float64
|
|
|
|
|
|
+ var tmpBidamount, tmpBudget,tmpAgencyfee float64
|
|
//s_winner逗号分隔拼接,分包中标人
|
|
//s_winner逗号分隔拼接,分包中标人
|
|
var tmpstr, savewinner []string
|
|
var tmpstr, savewinner []string
|
|
//按包排序
|
|
//按包排序
|
|
@@ -1972,10 +1985,18 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
|
|
if v["bidamount"] != nil {
|
|
if v["bidamount"] != nil {
|
|
tmpBidamount += qu.Float64All(v["bidamount"])
|
|
tmpBidamount += qu.Float64All(v["bidamount"])
|
|
}
|
|
}
|
|
|
|
+ if v["agencyfee"] != nil {
|
|
|
|
+ tmpAgencyfee += qu.Float64All(v["agencyfee"])
|
|
|
|
+ }
|
|
}
|
|
}
|
|
if qu.Float64All(tmp["budget"]) < tmpBudget {
|
|
if qu.Float64All(tmp["budget"]) < tmpBudget {
|
|
tmp["budget"] = tmpBudget
|
|
tmp["budget"] = tmpBudget
|
|
}
|
|
}
|
|
|
|
+ if qu.Float64All(tmp["agencyfee"]) < tmpAgencyfee {
|
|
|
|
+ tmp["agencyfee"] = tmpAgencyfee
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
if qu.Float64All(tmp["bidamount"]) > 0 && qu.Float64All(tmp["budget"]) > 0 && (qu.Float64All(tmp["bidamount"])/10 > qu.Float64All(tmp["budget"])) {
|
|
if qu.Float64All(tmp["bidamount"]) > 0 && qu.Float64All(tmp["budget"]) > 0 && (qu.Float64All(tmp["bidamount"])/10 > qu.Float64All(tmp["budget"])) {
|
|
tmp["bidamount"] = tmpBidamount
|
|
tmp["bidamount"] = tmpBidamount
|
|
} else if qu.Float64All(tmp["bidamount"]) < tmpBidamount {
|
|
} else if qu.Float64All(tmp["bidamount"]) < tmpBidamount {
|
|
@@ -1989,8 +2010,16 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
|
|
tmp["budget"] = v["budget"]
|
|
tmp["budget"] = v["budget"]
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+ }
|
|
|
|
|
|
|
|
+ if tmp["agencyfee"] == nil || tmp["agencyfee"] == 0 {
|
|
|
|
+ for _, v := range j.PackageInfo {
|
|
|
|
+ if v["agencyfee"] != nil {
|
|
|
|
+ tmp["agencyfee"] = v["agencyfee"]
|
|
|
|
+ }
|
|
|
|
+ }
|
|
}
|
|
}
|
|
|
|
+
|
|
if tmp["bidamount"] == nil || tmp["bidamount"] == 0 {
|
|
if tmp["bidamount"] == nil || tmp["bidamount"] == 0 {
|
|
for _, v := range j.PackageInfo {
|
|
for _, v := range j.PackageInfo {
|
|
if v["bidamount"] != nil {
|
|
if v["bidamount"] != nil {
|
|
@@ -2226,6 +2255,8 @@ func AnalysisSaveResult(j, jf *ju.Job, e *ExtractTask) {
|
|
}
|
|
}
|
|
tmp["result"] = result
|
|
tmp["result"] = result
|
|
//tmp["resultf"] = resultf
|
|
//tmp["resultf"] = resultf
|
|
|
|
+ //_,err :=db.Mgo.Get().DB("zhengkun").C("result_data").Upsert(`{"_id":"`+_id+`"}`,map[string]interface{}{"$set": tmp})
|
|
|
|
+ //log.Debug("save:",err)
|
|
b := db.Mgo.Update(e.TaskInfo.TestColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
|
|
b := db.Mgo.Update(e.TaskInfo.TestColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
|
|
if !b {
|
|
if !b {
|
|
log.Debug(e.TaskInfo.TestColl, _id)
|
|
log.Debug(e.TaskInfo.TestColl, _id)
|
|
@@ -2309,6 +2340,10 @@ func checkFields(tmp map[string]interface{}) map[string]interface{} {
|
|
delete(tmp, "bidamount")
|
|
delete(tmp, "bidamount")
|
|
}*/
|
|
}*/
|
|
}
|
|
}
|
|
|
|
+ //投标方式
|
|
|
|
+ if bidmode, ok := tmp["bidmode"].(int); !ok || bidmode==0 {
|
|
|
|
+ delete(tmp, "bidmode")
|
|
|
|
+ }
|
|
return tmp
|
|
return tmp
|
|
}
|
|
}
|
|
|
|
|