fengweiqiang 5 жил өмнө
parent
commit
f93909b319

+ 46 - 5
src/jy/pretreated/analytable.go

@@ -44,6 +44,7 @@ var (
 	FilterKey_2 = regexp.MustCompile("招标|投标|项目")
 	//根据表格的key进行分包打分
 	FindKey_2 = regexp.MustCompile("([分子][包标](号)?|标[号项段包](划分)?|包件?[号段名数])")
+	FindKey_3 = regexp.MustCompile("(标段编号)")
 	//对值进行分包判断
 	FindVal_1  = regexp.MustCompile("[第]?([一二三四五六七八九十0-9A-Za-zⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ]+)((子|合同|分|施工|监理)?(标段?|包|合同段|标包))|((子|合同|分|施工|监理)?(标|包)(段|号)?)[  \u3000\u2003\u00a0]*([一二三四五六七八九十0-9A-Za-zⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ]+)")
 	FindVal2_1 = regexp.MustCompile("([一二三四五六七八九十0-9A-Za-zⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ\\-]+)|^(设计|施工|监理|验收)[分子]?[标包]?[段号]?$")
@@ -605,6 +606,15 @@ func (table *Table) MergerToTableresult() {
 						}
 					}
 				}
+				if bp.Bidamount <=0 && !bp.IsTrueBidamount{
+					bp.Bidamount = v1.Bidamount
+					bp.IsTrueBidamount = v1.IsTrueBidamount
+				}
+				if bp.Budget <= 0 && !bp.IsTrueBudget{
+					bp.Budget = v1.Budget
+					bp.IsTrueBudget = v1.IsTrueBudget
+				}
+				bp.Text += bp.Text
 				if len(v1.WinnerOrder) > 0 && len(bp.WinnerOrder) == 0 {
 					bp.WinnerOrder = v1.WinnerOrder
 				}
@@ -2032,10 +2042,9 @@ func (tn *Table) CheckMultiPackageByTable(isSite bool, codeSite string) (b bool,
 					}
 					//kv.KvTags = tn.StandKV
 					bp := &u.BlockPackage{}
-					bp.Index = v             //序号 (转换后编号,只有数字或字母)
-					bp.Origin = oldIndex[nk] //包的原始值
-					bp.TableKV = kv          //table kv (分出的对应的KV值)
-					bp.Text = tn.Html
+					bp.Index = v                  //序号 (转换后编号,只有数字或字母)
+					bp.Origin = oldIndex[nk]      //包的原始值
+					bp.TableKV = kv               //table kv (分出的对应的KV值)
 					tn.BlockPackage.AddKey(v, bp) //table子包数组
 				}
 			}
@@ -2145,7 +2154,7 @@ func (tn *Table) manyPackageProcessByIndex(index []string, standIndex_pos []int,
 							}
 						}
 					}
-				} else if vcgdw.Value == "中标金额" && len(val) == len(index){
+				} else if vcgdw.Value == "中标金额" && len(val) == len(index) {
 					for bi, bv := range index {
 						if tn.BlockPackage.Map[bv].(*u.BlockPackage).Bidamount == 0 {
 							moneys := clear.ObjToMoney([]interface{}{val[bi], ""})
@@ -2371,6 +2380,12 @@ func initCheckMultiPackageByTable(tn *Table, key_index int, index []string, inde
 					index_pos = append(index_pos, in2)
 					val += 1
 					pac++
+				} else if FindKey_3.MatchString(k) {
+					//5db2a101a5cb26b9b73054ac
+					index = append(index, v1)
+					index_pos = append(index_pos, in2)
+					val += 1
+					pac++
 				} else {
 					if ok, v1new := isHasOnePkgAndNoKv(v1); ok { //td的值里面有一个包,并且没有冒号kv
 						haspkgs = append(haspkgs, v1new)
@@ -2431,6 +2446,32 @@ func (tn *Table) assemblePackage(k1, v1, key string, isSite bool, codeSite strin
 		for k3, v3 := range kvTags {
 			if bp.TableKV.KvTags[k3] == nil {
 				bp.TableKV.KvTags[k3] = append(bp.TableKV.KvTags[k3], v3...)
+			} else if k3 == "预算" {
+				if bp.Budget == 0 {
+					moneys := clear.ObjToMoney([]interface{}{v3[0], ""})
+					if len(moneys) > 0 {
+						if vf, ok := moneys[0].(float64); ok {
+							bp.Budget = vf
+							bp.IsTrueBudget = moneys[len(moneys)-1].(bool)
+						} else if vi, ok := moneys[0].(int); ok {
+							bp.Budget = float64(vi)
+							bp.IsTrueBudget = moneys[len(moneys)-1].(bool)
+						}
+					}
+				}
+			} else if k3 == "中标金额" {
+				if bp.Bidamount == 0 {
+					moneys := clear.ObjToMoney([]interface{}{v3[0], ""})
+					if len(moneys) > 0 {
+						if vf, ok := moneys[0].(float64); ok {
+							bp.Bidamount = vf
+							bp.IsTrueBidamount = moneys[len(moneys)-1].(bool)
+						} else if vi, ok := moneys[0].(int); ok {
+							bp.Bidamount = float64(vi)
+							bp.IsTrueBidamount = moneys[len(moneys)-1].(bool)
+						}
+					}
+				}
 			}
 		}
 	}