|
@@ -37,7 +37,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
|
|
|
if len([]rune(bl.Text)) > 80 {
|
|
|
bl.Block, _ = DivideBlock(job.CategorySecond, bl.Text, 1, job.RuleBlock, isSite, codeSite)
|
|
|
for _, bl_bl := range bl.Block {
|
|
|
- processTableInBlock(bl_bl, job, isSite, codeSite)
|
|
|
+ processTableInBlock(bl_bl, job, isSite, codeSite)
|
|
|
}
|
|
|
}
|
|
|
FindProjectCode(bl.Text, job) //匹配项目编号
|
|
@@ -96,7 +96,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
|
|
|
tmpw := 0
|
|
|
if bl.TableKV != nil {
|
|
|
for kk, v := range bl.TableKV.KvTags {
|
|
|
- if strings.Contains(kk, "中标候选人") && WinnerOrderStr.MatchString(kk){
|
|
|
+ if strings.Contains(kk, "中标候选人") && WinnerOrderStr.MatchString(kk) {
|
|
|
for _, vv := range v {
|
|
|
if winbs[vv.Value] {
|
|
|
continue
|
|
@@ -115,7 +115,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
|
|
|
}
|
|
|
if bl.SpaceKV != nil {
|
|
|
for kk, v := range bl.SpaceKV.KvTags {
|
|
|
- if strings.Contains(kk, "中标候选人") && WinnerOrderStr.MatchString(kk){
|
|
|
+ if strings.Contains(kk, "中标候选人") && WinnerOrderStr.MatchString(kk) {
|
|
|
for _, vv := range v {
|
|
|
if winbs[vv.Value] {
|
|
|
continue
|
|
@@ -134,7 +134,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
|
|
|
}
|
|
|
if bl.ColonKV != nil {
|
|
|
for kk, v := range bl.ColonKV.KvTags {
|
|
|
- if strings.Contains(kk, "中标候选人") && WinnerOrderStr.MatchString(kk){
|
|
|
+ if strings.Contains(kk, "中标候选人") && WinnerOrderStr.MatchString(kk) {
|
|
|
for _, vv := range v {
|
|
|
if winbs[vv.Value] {
|
|
|
continue
|
|
@@ -159,7 +159,7 @@ func AnalyStart(job *util.Job, isSite bool, codeSite string) {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
-func processTableInBlock(bl *util.Block, job *util.Job, isSite bool, codeSite string) {
|
|
|
+func processTableInBlock(bl *util.Block, job *util.Job, isSite bool, codeSite string) {
|
|
|
//块中再查找表格(块,处理完把值赋到块)
|
|
|
tabs, _ := ComputeConRatio(bl.Text, 2)
|
|
|
for _, tab := range tabs {
|
|
@@ -283,19 +283,28 @@ func processTableResult(tabres *TableResult, block *util.Block, job *util.Job, i
|
|
|
tablePackage[v] = blockPackage
|
|
|
}
|
|
|
}
|
|
|
+ tmpWins := make(map[string]int)
|
|
|
+ for _, v := range job.Winnerorder {
|
|
|
+ if v["entname"] != nil && v["entname"] != "" {
|
|
|
+ tmpWins[v["entname"].(string)] = v["sort"].(int)
|
|
|
+ }
|
|
|
+ }
|
|
|
//处理中标人排序
|
|
|
wror := []map[string]interface{}{}
|
|
|
- for i, v := range tabres.WinnerOrder {
|
|
|
+ for _, v := range tabres.WinnerOrder {
|
|
|
entName, _ := v["entname"].(string)
|
|
|
v["entname"] = winnerOrderEntity.clear("中标单位", entName)
|
|
|
if price, ok := v["price"].(string); ok {
|
|
|
v["price"] = winnerOrderEntity.clear("中标金额", price)
|
|
|
}
|
|
|
- v["type"] = i
|
|
|
+ v["type"] = len(job.Winnerorder)
|
|
|
+ if tmpWins[v["entname"].(string)] == v["sort"].(int) && v["price"] == nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
wror = append(wror, v)
|
|
|
}
|
|
|
if len(wror) > 0 {
|
|
|
- job.Winnerorder = wror
|
|
|
+ job.Winnerorder = append(job.Winnerorder, wror...)
|
|
|
}
|
|
|
//分包
|
|
|
if len(tablePackage) > 0 {
|