|
@@ -34,7 +34,7 @@ var (
|
|
|
//判断分包时
|
|
|
moneyNum = regexp.MustCompile("[元整¥万]")
|
|
|
//对隐藏表格的判断
|
|
|
- display = regexp.MustCompile("(?i).*?display\\s?[:]\\s?none.*")
|
|
|
+ display = regexp.MustCompile("(?i).*?display\\s?[:]\\s?none.*")
|
|
|
//---------------
|
|
|
//求是分包的概率
|
|
|
//根据表格的标签对分包进行打分
|
|
@@ -92,7 +92,7 @@ var (
|
|
|
filter_zbdw_jd = regexp.MustCompile("(投标|成交|中标|合同)(供应商|单位|人|名称).{0,4}$")
|
|
|
//且不包含以下字眼
|
|
|
filter_zbdw_kn = regexp.MustCompile("第[2二3三4四5五]|得分|地址|询价保证金") //且值包含以下字眼
|
|
|
- //且值包含以下字眼
|
|
|
+ //且值包含以下字眼
|
|
|
filter_zbdw_v = regexp.MustCompile("(公司|集团|研究院|设计院|局|厂|部|站|城|店|市|所|处)$|([^购]中心|办公|用品)")
|
|
|
//且值包含以下字眼
|
|
|
filter_zbdw_v2 = regexp.MustCompile("(公司|集团|研究院|设计院|局|厂|部|站|城|店|市|所|处)$")
|
|
@@ -177,7 +177,7 @@ func CommonDataAnaly(k, tabletag, tabledesc string, v interface{}, isSite bool,
|
|
|
}
|
|
|
if winnerOrderAndBidResult.MatchString(tabletag) && t1.Value == "采购单位联系人" { //处理table中项目负责人
|
|
|
kvTags[k] = append(kvTags[k], &u.Tag{Key: k, Value: v1, IsInvalid: true})
|
|
|
- }else if regexp.MustCompile("(中标候选人|名单及其排序|排序)").MatchString(tabletag) && t1.Value == "采购单位" {
|
|
|
+ } else if regexp.MustCompile("(中标候选人|名单及其排序|排序)").MatchString(tabletag) && t1.Value == "采购单位" {
|
|
|
kvTags[t1.Value] = append(kvTags[t1.Value], &u.Tag{Key: k1, Value: v1, Weight: t1.Weight - 150})
|
|
|
} else {
|
|
|
kvTags[t1.Value] = append(kvTags[t1.Value], &u.Tag{Key: k1, Value: v1, Weight: t1.Weight})
|
|
@@ -354,6 +354,12 @@ func (table *Table) sortKVArr(as *SortMap, isSite bool, codeSite string) {
|
|
|
for kn1, k := range as.Keys[kn:] {
|
|
|
v := as.Map[k]
|
|
|
if ContactType["采购单位"].MatchString(k) || ContactType["代理机构"].MatchString(k) {
|
|
|
+ kvTags, _ := CommonDataAnaly(k, table.Tag, table.Desc, v, isSite, codeSite) //对key标准化处理,没有找到会走中标
|
|
|
+ for k := range kvTags {
|
|
|
+ if table.StandKV[k] == nil {
|
|
|
+ MergeKvTags(table.StandKV, kvTags)
|
|
|
+ }
|
|
|
+ }
|
|
|
continue
|
|
|
}
|
|
|
//目前对数组数据的key做判断,但是某些额可以是不满足情况的
|
|
@@ -474,13 +480,12 @@ func (table *Table) sortKVArr(as *SortMap, isSite bool, codeSite string) {
|
|
|
//} else if len(tmpEntname) > 0 {
|
|
|
//fmt.Println("table winnerorder only has entname", tmpEntname)
|
|
|
//}
|
|
|
- if len(smap_v) >2{ //只有排序信息 sort和sortstr
|
|
|
+ if len(smap_v) > 2 { //只有排序信息 sort和sortstr
|
|
|
newSmap = append(newSmap, smap_v)
|
|
|
}
|
|
|
}
|
|
|
if len(newSmap) > 0 {
|
|
|
table.WinnerOrder = newSmap
|
|
|
-
|
|
|
}
|
|
|
}
|
|
|
} else if vsss, ok := v.([]string); ok {
|
|
@@ -515,6 +520,9 @@ func (table *Table) sortKVArr(as *SortMap, isSite bool, codeSite string) {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ } else if table.StandKV[k] == nil {
|
|
|
+ kvTags, _ := CommonDataAnaly(k, table.Tag, table.Desc, v, isSite, codeSite) //对key标准化处理,没有找到会走中标
|
|
|
+ MergeKvTags(table.StandKV, kvTags)
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -866,7 +874,7 @@ func (table *Table) createTabe(trs *goquery.Selection, isSite bool, codeSite str
|
|
|
if tds.Size() == empty {
|
|
|
tdTextIsNull = true
|
|
|
}
|
|
|
- }
|
|
|
+ }
|
|
|
})
|
|
|
//向table添加每行不为空的tr
|
|
|
if !tdTextIsNull {
|