浏览代码

金额,候选人中标金额

fengweiqiang 5 年之前
父节点
当前提交
3174533dbf
共有 4 个文件被更改,包括 9 次插入7 次删除
  1. 1 1
      src/jy/clear/tonumber.go
  2. 2 1
      src/jy/extract/extract.go
  3. 4 4
      src/jy/extract/score_jsondata.go
  4. 2 1
      src/jy/pretreated/tablev2.go

+ 1 - 1
src/jy/clear/tonumber.go

@@ -109,7 +109,7 @@ func ObjToMoney(data []interface{}) []interface{} {
 }
 //["中标金额","成交金额","合同金额","中标价","成交价","成交价格","中标(成交)金额","投标报价","中标标价","成交结果"]
 //["0元","零元","0.0万元","¥0元"]
-var moneyUnitRegBool = regexp.MustCompile(`(中标金额|成交金额|合同金额|中标价|成交价|成交价格|中标\(成交\)金额|投标报价|中标标价|成交结果)?[::\s]?(0元|零元|0.0万元|¥0元|0)+[\s]?$`)
+var moneyUnitRegBool = regexp.MustCompile(`(中标金额|成交金额|合同金额|中标价|成交价|成交价格|中标\(成交\)金额|投标报价|中标标价|成交结果)?[::\s]?(0|零|0.0|¥0)+(0|\.)*[\s]?(万|元|){0,2}[\s]?((人民币))?$`)
 //数字金额转换
 func numMoney(data []interface{}) ([]interface{}, bool) {
 	tmp := fmt.Sprintf("%f",data[0])

+ 2 - 1
src/jy/extract/extract.go

@@ -1055,13 +1055,14 @@ func getKvByLuaFields(vc *RuleCore, j *ju.Job, et *ExtractTask) (map[string][]ma
 				kvmap[vc.Field] = append(kvmap[vc.Field], map[string]interface{}{
 					"code":        "winnerorder",
 					"field":       vc.Field,
-					"ruletext":    "中标候选人",
+					"ruletext":    "中标候选人_"+ v["sortstr"].(string),
 					"extfrom":     v["sortstr"],
 					"sourcevalue": v["price"],
 					"value":       v["price"],
 					"type":        "winnerorder",
 					"matchtype":   "winnerorder",
 				})
+				return kvmap, false
 			}
 			//候选人中标金额
 			if price := j.Winnerorder[0]["price"]; price != nil {

+ 4 - 4
src/jy/extract/score_jsondata.go

@@ -30,13 +30,13 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 				cfn := e.ClearFn[v]
 				lockclear.Unlock()
 				newNum := clear.DoClearFn(cfn, []interface{}{(*j.Jsondata)[v], ""})
-				if util2.IntAll(newNum[0]) != 0 {
+				//if util2.IntAll(newNum[0]) != 0 {
 					extFields := make([]*util.ExtField, 0)
 					extFields = append(extFields, &util.ExtField{Code: "JsonData_" + v + "_" + fmt.Sprint(jdextweight), Field: v, ExtFrom: "JsonData_" + v + "_" + fmt.Sprint(jdextweight), SourceValue: (*j.Jsondata)[v], Value: newNum[0], Score: 0.1,IsTrue:newNum[len(newNum)-1].(bool)})
 					j.Result[v] = extFields
 					//AddExtLog("extract", j.SourceMid, nil, newNum[0], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
 					//AddExtLog("clear", j.SourceMid, (*j.Jsondata)[v], newNum[0], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
-				}
+				//}
 				continue
 			}
 			vv := strings.TrimSpace(util2.ObjToString((*j.Jsondata)[v]))
@@ -126,7 +126,7 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 				cfn := e.ClearFn[v]
 				lockclear.Unlock()
 				newNum := clear.DoClearFn(cfn, []interface{}{(*j.Jsondata)[v], ""})
-				if util2.IntAll(newNum[0]) != 0 {
+				//if util2.IntAll(newNum[0]) != 0 {
 					extFields := make([]*util.ExtField, 0)
 					if jdextweight >1{
 						if oneScore < 0{
@@ -142,7 +142,7 @@ func JsonDataMergeProcessing(j *util.Job, e *ExtractTask) map[string][]*util.Ext
 					j.Result[v] = append(j.Result[v], extFields...)
 					//AddExtLog("extract", j.SourceMid, nil, newNum[0], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
 					//AddExtLog("clear", j.SourceMid, (*j.Jsondata)[v], newNum[0], &RegLuaInfo{ "JsonData_"+v, "", v, "", false, nil, nil}, e.TaskInfo) //抽取日志
-				}
+				//}
 				continue
 			}
 

+ 2 - 1
src/jy/pretreated/tablev2.go

@@ -846,6 +846,7 @@ func CheckHeader(txt string) (res, must bool, stype, reg, repl string) {
 con 文本
 strtype 1全文 2块文本
 **/
+var hisReg =regexp.MustCompile("类似业绩|历史业绩")
 func ComputeConRatio(con string, strtype int) (tabs []*goquery.Selection, ratio float32) {
 	defer qutil.Catch()
 	doc, _ := goquery.NewDocumentFromReader(strings.NewReader(con))
@@ -863,7 +864,7 @@ func ComputeConRatio(con string, strtype int) (tabs []*goquery.Selection, ratio
 				}
 			}
 			if !b {
-				if strings.Contains(tmpt.First().Text(),"类似业绩")||strings.Contains(tmpt.First().Text(),"历史业绩"){
+				if hisReg.MatchString(tmpt.First().Text()){
 					continue
 				}
 				tabs = append(tabs, tmpt)