|
@@ -4,6 +4,7 @@
|
|
package pretreated
|
|
package pretreated
|
|
|
|
|
|
import (
|
|
import (
|
|
|
|
+ "encoding/json"
|
|
"jy/util"
|
|
"jy/util"
|
|
qutil "qfw/util"
|
|
qutil "qfw/util"
|
|
"strings"
|
|
"strings"
|
|
@@ -29,7 +30,7 @@ func AnalyStart(job *util.Job) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
blockArrays, _ := DivideBlock(job.CategorySecond, con, 1, job.RuleBlock) //分块
|
|
blockArrays, _ := DivideBlock(job.CategorySecond, con, 1, job.RuleBlock) //分块
|
|
- if len(blockArrays) > 0 { //有分块
|
|
|
|
|
|
+ if len(blockArrays) > 0 { //有分块
|
|
//从块里面找分包
|
|
//从块里面找分包
|
|
job.BlockPackage = FindPackageFromBlocks(&blockArrays, job.Title) //从块里面找分包
|
|
job.BlockPackage = FindPackageFromBlocks(&blockArrays, job.Title) //从块里面找分包
|
|
for _, bl := range blockArrays {
|
|
for _, bl := range blockArrays {
|
|
@@ -76,7 +77,7 @@ func AnalyStart(job *util.Job) {
|
|
if job.Winnerorder == nil || len(job.Winnerorder) == 0 {
|
|
if job.Winnerorder == nil || len(job.Winnerorder) == 0 {
|
|
bl.Winnerorder = winnerOrderEntity.Find(bl.Text, true, 1)
|
|
bl.Winnerorder = winnerOrderEntity.Find(bl.Text, true, 1)
|
|
}
|
|
}
|
|
-
|
|
|
|
|
|
+ findProjectCode(newCon, job) //匹配项目编号
|
|
//调用kv解析
|
|
//调用kv解析
|
|
bl.ColonKV = GetKVAll(newCon, "", nil, 1)
|
|
bl.ColonKV = GetKVAll(newCon, "", nil, 1)
|
|
bl.SpaceKV = SspacekvEntity.Entrance(newCon, "", nil)
|
|
bl.SpaceKV = SspacekvEntity.Entrance(newCon, "", nil)
|
|
@@ -93,6 +94,45 @@ func AnalyStart(job *util.Job) {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+//匹配项目编号
|
|
|
|
+func findProjectCode(newCon string, job *util.Job) {
|
|
|
|
+ newCon = TextAfterRemoveTable(newCon)
|
|
|
|
+ if strings.TrimSpace(newCon) == "" {
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ var proCode string
|
|
|
|
+ proCode = projectcodeReg.FindString(newCon)
|
|
|
|
+ blCode := &util.Block{}
|
|
|
|
+ if proCode != "" {
|
|
|
|
+ ckv := GetKVAll(proCode, job.Title, nil, 1)
|
|
|
|
+ blCode.Text = proCode
|
|
|
|
+ blCode.ColonKV = ckv
|
|
|
|
+ job.Block = append(job.Block, blCode)
|
|
|
|
+ }else if proCode = projectcodeReg2.FindString(newCon);proCode !=""{
|
|
|
|
+ ckv := GetKVAll(proCode, job.Title, nil, 1)
|
|
|
|
+ blCode.Text = proCode
|
|
|
|
+ blCode.ColonKV = ckv
|
|
|
|
+ job.Block = append(job.Block, blCode)
|
|
|
|
+ }else if proCode = jsonReg.FindString(newCon);proCode != ""{
|
|
|
|
+ jsonMap := make(map[string]string)
|
|
|
|
+ json.Unmarshal([]byte(proCode),&jsonMap)
|
|
|
|
+ blCode.Text = proCode
|
|
|
|
+ jobKv := util.NewJobKv()
|
|
|
|
+ for k,v := range jsonMap{
|
|
|
|
+ tmpkv := new(util.Kv)
|
|
|
|
+ tmpkv.Line = k+v
|
|
|
|
+ tmpkv.Key = k
|
|
|
|
+ tmpkv.Value = v
|
|
|
|
+ jobKv.Kvs = append(jobKv.Kvs, tmpkv)
|
|
|
|
+ }
|
|
|
|
+ jobKv.Kv = jsonMap
|
|
|
|
+ blCode.ColonKV = jobKv
|
|
|
|
+ job.Block = append(job.Block, blCode)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+}
|
|
|
|
+
|
|
//分析table解析结果
|
|
//分析table解析结果
|
|
func processTableResult(tabres *TableResult, block *util.Block, job *util.Job) {
|
|
func processTableResult(tabres *TableResult, block *util.Block, job *util.Job) {
|
|
//解析结果中的kv
|
|
//解析结果中的kv
|