maxiaoshan 5 роки тому
батько
коміт
44be653395

+ 5 - 5
src/jy/extract/extpackage.go

@@ -169,8 +169,8 @@ func PackageDetail(j *ju.Job, e *ExtractTask, isSite bool, codeSite string) {
 							//ordertmp[ordertmpint[tmpindex]] 取中标候选人组
 							sonJobResult["winnerorder"] = ordertmp[ordertmpint[tmpindex]]
 							if sonJobResult["bidamount"] == nil || sonJobResult["bidamount"].(float64) <= 0 {
-								if j.Winnerorder[0]["price"] != nil {
-									moneys := clear.ObjToMoney([]interface{}{j.Winnerorder[0]["price"], ""})
+								if ordertmp[ordertmpint[tmpindex]][0]["price"] != nil {
+									moneys := clear.ObjToMoney([]interface{}{ordertmp[ordertmpint[tmpindex]][0]["price"], ""})
 									if len(moneys) > 0 && moneys[len(moneys)-1].(bool) {
 										if vf, ok := moneys[0].(float64); ok {
 											sonJobResult["bidamount"] = vf
@@ -178,12 +178,12 @@ func PackageDetail(j *ju.Job, e *ExtractTask, isSite bool, codeSite string) {
 									}
 								}
 							}
-							if sonJobResult["winner"] == "" {
-								sonJobResult["winner"] = j.Winnerorder[0]["entname"]
+							if sonJobResult["winner"] == nil || sonJobResult["winner"] == "" {
+								sonJobResult["winner"] = ordertmp[ordertmpint[tmpindex]][0]["entname"]
 							}
 						}
 					} else {
-						if sonJobResult["winner"] == "" && len(j.Winnerorder) > 0 {
+						if (sonJobResult["winner"] == nil || sonJobResult["winner"] == "") && len(j.Winnerorder) > 0 {
 							if j.Winnerorder[0]["price"] != nil {
 								sonJobResult["bidamount"] = qu.Float64All(j.Winnerorder[0]["price"])
 							}

+ 1 - 1
src/jy/pretreated/analytable.go

@@ -53,7 +53,7 @@ var (
 	//判断分包前排除
 	excludeKey  = regexp.MustCompile("(分包个数|标段代码|涉及包号|分包数量|包件号?|项目标号|规格|型号|招标范围|业绩|废标|标段选择要求)|(^编号$)|([^包段标]编号)") //编号|划分
 	excludeKey2 = regexp.MustCompile("包/[0-9]{0,4}[|箱|纸|张]")
-	excludeKey3 = regexp.MustCompile("(分包个数|每包[0-9]*元|标线|国标)")
+	excludeKey3 = regexp.MustCompile("(分包个数|每包[0-9]*元|标线|国标|享受一包服务)")
 	//-------------
 
 	cut = u.NewCut()

+ 4 - 4
src/jy/pretreated/division.go

@@ -56,13 +56,13 @@ var (
 	regEndWrap         = regexp.MustCompile("[\r\n]$")
 	regMoreWrap        = regexp.MustCompile("[\r\n]{2,}")
 	regStrWrap         = regexp.MustCompile("分包名称[::]")
-	regBZJWarap        = regexp.MustCompile("(保证金.*|每包[0-9]*元|标志|一包一投|上包|标线|国标|第[\\d一二三四五六七八九十]标室)")
-	regFJWarap         = regexp.MustCompile("[a-zA-Z0-9](包|标段)[公告附件]*.(pdf|PDF|docx|doc|DOCX|DOC)")
-	regAZWarap         = regexp.MustCompile("(标[a-zA-Z]取值|标段划分|标液|分包个数|物资[\\d一二三四五六七八九十]?包)")
+	regBZJWarap        = regexp.MustCompile("(保证金.*|型号[::]+[\\d]*包|每包[0-9]*元|包/[袋|箱]|标志|享受一包服务|一包一投|上包|标线|国标|第[\\d一二三四五六七八九十]标室|[\\d一二三四五六七八九十]包密封|(一包|商务|资格|价格标(每包内含相应文件正副本))|[未|不]+划分标段)")
+	regFJWarap         = regexp.MustCompile("[a-zA-Z0-9](包|标段).*.(pdf|PDF|docx|doc|DOCX|DOC|swf|SWF)")
+	regAZWarap         = regexp.MustCompile("(标[a-zA-Z]取值|标段划分|标液|分包个数|物资[\\d一二三四五六七八九十]?包|[x]*项目[x]*标段|张/包|纸[\\d]*包)")
 	replSerial         = regexp.MustCompile("(\r\n|^)([\\d一二三四五六七八九十][、..::,])+\\d")
 	moreColonReg       = regexp.MustCompile("[::]+")
 	regFilter          = regexp.MustCompile("等$")
-	pkgFilter          = regexp.MustCompile("第[一二三四五六七八九十0-9A-Za-zⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ](子|合同|分|施工|监理)?(标段?|包|合同段|标包)|(子|合同|分|施工|监理)?(标|包)(段|号)+")
+	pkgFilter          = regexp.MustCompile("第[一二三四五六七八九十0-9A-Za-zⅠⅡⅢⅣⅤⅥⅦⅧⅨⅩⅪⅫ](子|合同|分|施工|监理)?(标段?|包|合同段|标包)|(子|合同|分|施工|监理)?[标|包]+[段|号]+")
 	indexTile          = regexp.MustCompile("[0-9.]{2,3}[\\s\u4e00-\u9fa5]{2,8}[::]+") //小标题
 	indexTile2         = regexp.MustCompile("[\\s\u4e00-\u9fa5]{2,8}")
 	regReplAllSpace2   = regexp.MustCompile("[\u3000\u2003\u00a0\\s0-9.::、\\(\\)]+")

+ 3 - 2
src/jy/pretreated/winnerorder.go

@@ -7,6 +7,7 @@ import (
 	"regexp"
 	"strconv"
 	"strings"
+	"unicode/utf8"
 )
 
 type WinnerOrderEntity struct {
@@ -31,7 +32,7 @@ var (
 	//winnerReg2     = regexp.MustCompile("(第[一二三四五六七八九十1-9]+(候|侯)选人)")
 	winnerReg3     = regexp.MustCompile("(第[一二三四五六七八九十1-9]+名)")
 	winnerReg4     = regexp.MustCompile("((确认|推荐|评审|排(名|序))[为::]+|(由高到低排序前.名|公示下列内容|(确定|推荐)的?中(标|选)候选人|\n中(标|选)候选.{1,3}\\s*\n|\n(中(标|选)候选.{1,3}[::\u3000\u2003\u00a0\\s]|成交候选供应商)|(排(名|序)|公(示|告)|具体|推荐|结果(公示)?|中(标|选)候选人.{0,2})如下|[一二三四五六七八九十\\d]+、(中(标|选)候选[^\n::]{1,8}|.{0,8}(成交|结果)信息|成交[^\n::]{2,8}))[为::]?)")
-	winnerReg5     = regexp.MustCompile("([^,;;。,、\n]+?)(为?)(第[一二三四五六七八九十1-9]+(成交|中标)?((候|侯)选(人|供应商|单位|机构)|名)|排名第[一二三四五六七八九十1-9]+)([,;;。,、]|\\s+\n)")
+	winnerReg5     = regexp.MustCompile("([^,;;。,、\n投标人]+?)(为?)(第[一二三四五六七八九十1-9]+(成交|中标)?([候|侯]选(人|供应商|单位|机构)|名)|排名第[一二三四五六七八九十1-9]+)([,;;。,、]|\\s+\n)")
 	winnerReg6     = regexp.MustCompile("(^(排名)?第[一二三四五六七八九十1-9]+[名中标成交备选候选人单位供应商]*)")
 	winnerReg7     = regexp.MustCompile("第[一二三四五六七八九十]{1}标段[::]")
 	colonEndReg    = regexp.MustCompile("[::]$")
@@ -233,7 +234,7 @@ func (wo *WinnerOrderEntity) findByReg(content string, blocks []string, reg_2 *r
 					object = map[string]interface{}{}
 				}
 				val := wo.clear("中标单位", v)
-				if val != nil {
+				if val != nil && utf8.RuneCountInString(qutil.ObjToString(val)) > 5{
 					count++
 					object["entname"] = strings.TrimSpace(qutil.ObjToString(val))
 					object["sort"] = wo.toNumber(k, count)

+ 1 - 1
udpcreateindex/src/task.go

@@ -12,7 +12,7 @@ import (
 func task_index() {
 	c := cron.New()
 	c.AddFunc("20 30 5 * * *", func() { task_projects() })
-	c.AddFunc("0 0 */2 * * *", func() { task_biddingfile() }) //每两小时执行一次
+	c.AddFunc("0 15 * * * *", func() { task_biddingfile() }) //每两小时执行一次
 	c.Start()
 }