fengweiqiang 4 سال پیش
والد
کامیت
2587ef8d9e
1فایلهای تغییر یافته به همراه14 افزوده شده و 6 حذف شده
  1. 14 6
      src/jy/pretreated/analytable.go

+ 14 - 6
src/jy/pretreated/analytable.go

@@ -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 {