Browse Source

联系人电话优化

maxiaoshan 5 years ago
parent
commit
628184eb61

+ 15 - 16
src/jy/admin/audit/dataaudit.go

@@ -6,7 +6,6 @@ import (
 	"log"
 	qu "qfw/util"
 	redis "qfw/util/redis"
-	"strconv"
 	"time"
 
 	"github.com/gin-gonic/gin"
@@ -16,8 +15,10 @@ func init() {
 	//列表、编辑
 	Admin.GET("/audit/dataaudit", func(c *gin.Context) {
 		name := c.Query("name")
-		//s_coll := c.Query("s_coll")
-		c.HTML(200, "audit_auditone.html", gin.H{"name": name})
+		//lib := c.Query("lib")
+		coll := c.Query("coll")
+		auditattr := c.Query("auditattr")
+		c.HTML(200, "audit_auditone.html", gin.H{"name": name, "coll": coll, "auditattr": auditattr})
 	})
 	Admin.POST("/audit/auditonefield", AuditOneField)
 	Admin.POST("/audit/buyerclass", BuyerClass) //采购单位分类
@@ -47,21 +48,19 @@ func AuditData(c *gin.Context) {
 
 func AuditOneField(c *gin.Context) {
 	field, _ := c.GetPostForm("field")
-	limitstr, _ := c.GetPostForm("length")
-	startstr, _ := c.GetPostForm("start")
-	start, _ := strconv.Atoi(startstr)
-	limit, _ := strconv.Atoi(limitstr)
+	//lib, _ := c.GetPostForm("lib")
+	coll, _ := c.GetPostForm("coll")
+	auditattr, _ := c.GetPostForm("auditattr")
 	query := map[string]interface{}{
-		"field":     field,
-		"ispackage": false,
-	}
-	data, _ := Mgo.Find("audit_err", query, `{"_id":-1}`, nil, false, start, limit)
-	for _, d := range *data {
-		timeStr := time.Unix(d["l_createtime"].(int64), 0).Format(Date_Short_Layout)
-		d["l_createtime"] = timeStr
+		auditattr + "_" + field: 1,
 	}
-	count := Mgo.Count("audit_err", query)
-	c.JSON(200, gin.H{"data": data, "recordsFiltered": count, "recordsTotal": count})
+	data, _ := Mgo.Find(coll, query, `{"_id":1}`, nil, false, -1, -1)
+	//	for _, d := range *data {
+	//		timeStr := time.Unix(d["l_createtime"].(int64), 0).Format(Date_Short_Layout)
+	//		d["l_createtime"] = timeStr
+	//	}
+	//	count := Mgo.Count("audit_err", query)
+	c.JSON(200, gin.H{"data": data})
 }
 
 func BuyerClass(c *gin.Context) {

+ 1 - 0
src/jy/clear/clear.go

@@ -28,6 +28,7 @@ func init() {
 	BindFn("chiToEng", ChiToEng)                 //中文符号转英文
 	BindFn("clearBuyerPerson", ClearBuyerPerson) //处理较长采购联系人
 	BindFn("clearNumber", ClearNumber)           //一般用于处理抽取联系人后带有电话的情况
+	BindFn("clearEndSymblo", ClearEndSymblo)     //去除尾部特殊符号
 }
 
 //绑定清理方法

+ 12 - 0
src/jy/clear/cutspace.go

@@ -13,6 +13,7 @@ var (
 	separateSymbol *regexp.Regexp
 	placeReg       *regexp.Regexp
 	clearNum       *regexp.Regexp
+	endSymblo      *regexp.Regexp
 )
 
 var spaces = []string{"\u3000", "\u2003", "\u00a0", "\t", "\r", "\n"}
@@ -24,6 +25,7 @@ func init() {
 	separateSymbol, _ = regexp.Compile("[\\s\u3000\u2003\u00a0\\n,,、/。|]")
 	placeReg, _ = regexp.Compile("^.*(公司|学(校)?|集团|单位|机构|企业|厂|场|院|所|店|中心|市|局|站|城|处|行|部|队|联合(会|体)|工作室)$")
 	clearNum, _ = regexp.Compile("[\\d-]+")
+	endSymblo = regexp.MustCompile(`[/\\?]$`)
 }
 
 var LableStr = "&?(amp|nbsp|#8266);?|(<).*?(>?)"
@@ -92,6 +94,16 @@ func CutAllSpace(data []interface{}) []interface{} {
 	return data
 }
 
+//清理尾部符号
+func ClearEndSymblo(data []interface{}) []interface{} {
+	text := fmt.Sprint(data[0])
+	for i := 0; i <= 2; i++ {
+		text = endSymblo.ReplaceAllString(text, "")
+	}
+	data[0] = text
+	return data
+}
+
 //清理符号
 func CutSymbol(data []interface{}) []interface{} {
 	value := fmt.Sprint(CutSpace(data)[0])

+ 3 - 3
src/main_blocktest.go

@@ -26,7 +26,7 @@ func main1() {
 	one()
 }
 func all() {
-	m := mongodbutil.MgoFactory(3, 3, 120, "192.168.3.207:27082", "extract_kf")
+	m := mongodbutil.MgoFactory(3, 3, 120, "127.0.0.1:27092", "extract_kf")
 	sess := m.Get()
 	defer m.Close(sess)
 	it := sess.DB("extract_kf").C("bidding201901").Find(nil).Iter()
@@ -50,8 +50,8 @@ func all() {
 	time.Sleep(time.Hour)
 }
 func one() {
-	m := mongodbutil.MgoFactory(3, 3, 120, "192.168.3.207:27081", "qfw")
-	d, _ := m.FindById("bidding", "5e17dfcb50b5ea296ec93aea", extract.Fields)
+	m := mongodbutil.MgoFactory(3, 3, 120, "127.0.0.1:27092", "extract_kf")
+	d, _ := m.FindById("bidding_data", "5e34e8f550b5ea296ed0deeb", extract.Fields)
 	com(*d)
 }
 func com(doc map[string]interface{}) {

+ 38 - 2
src/res/fieldscore.json

@@ -315,7 +315,7 @@
         "negativewords": [
             {
                 "describe": "出现符号",
-                "regstr": "[*]",
+                "regstr": "[*a-z]",
                 "score": -10
             },
 			{
@@ -334,7 +334,43 @@
                 "range": [
                     0,
                     1,
-                    -5
+                    -10
+                ]
+            }
+        ]
+    },
+	"buyerperson": {
+        "type": "string",
+        "positivewords": [
+            {
+                "describe": "以*结尾",
+                "regstr": ".{2,100}(工|老师|经理|女士|先生|主任|科长)$",
+                "score": 3
+            }
+        ],
+        "negativewords": [
+            {
+                "describe": "出现符号",
+                "regstr": "[*a-z]",
+                "score": -10
+            },
+			{
+                "describe": "是数字",
+                "regstr": "^\\d*[×―—-\\-]*[\u3000\u2003\u00a0\\s]*\\d*$",
+                "score": -10
+            },  {
+                "describe": "包含负分",
+                "regstr": "(详见公告)",
+                "score": -10
+            }
+        ],
+        "length": [
+            {
+                "describe": "[gt,lte,score]",
+                "range": [
+                    0,
+                    1,
+                    -10
                 ]
             }
         ]

+ 18 - 38
src/web/templates/admin/audit_auditone.html

@@ -8,16 +8,14 @@
 	<section class="content-header">
 		<h1>
 			<small>
-				{{if eq .name "buyer" "winner"}}
+				<!--{{if eq .name "buyer" "winner"}}
 				<button class="btn btn-primary" onclick="addaudit()">新增{{.name}}</button>
-				{{end}}
+				{{end}}-->
 			</small>
 		</h1>
 		<ol class="breadcrumb">
-		<li><a href="/admin/audit/recogfield"><i class="fa fa-dashboard"></i> 识别字段</a></li>
-			<li class="active"><a href="#">数据审核</a></li>
-		  	
-			 
+		<li><a href="/admin/audit/recogfield"><i class="fa fa-dashboard"></i> 字段审核</a></li>
+			<li class="active"><a href="#">数据列表</a></li>
 		</ol>
     </section>
   <!-- Main content -->
@@ -29,12 +27,11 @@
 		            <table id="dataauditTable" class="table table-bordered table-hover">
 		              <thead>
 		              <tr>
-		                <th>字段名称</th>
 						<th>字段值</th>
-						<th>ExtractID</th>
+						<!--<th>ExtractID</th>
 						<th>结果表</th>
 						<th>分包</th>
-						<th>时间</th>
+						<th>时间</th>-->
 						<th>操作</th>
 		              </tr>
 		              </thead>
@@ -49,7 +46,7 @@
 </div>
 
 <!--新增标签--> 
-<div class="modal fade" id="modal-info-auditdata">
+<!--<div class="modal fade" id="modal-info-auditdata">
   	<div class="modal-dialog">
 	    <form id="add-dataform" class="form-horizontal" role="form">
 		<div class="modal-content">
@@ -80,21 +77,14 @@
 		        <button type="button" class="btn btn-primary" onclick="saveaudit()">保存</button>
 	    	</div>
 		</div>
-	    <!-- /.modal-content -->
 	    </form>
   	</div>
-  <!-- /.modal-dialog -->
-</div>
+</div>-->
 <!-- /.modal -->
 {{template "dialog"}}
 {{template "footer"}}
 <script>
 menuActive("recogfield")
-var id = "";
-var eid = "";
-var classifymap = {};
-var bid = 1;
-var coll = "";
 var field = {{.name}}
 $(function () {
 	ttable=$('#dataauditTable').DataTable({
@@ -103,31 +93,21 @@ $(function () {
 		"searching"   : true,
 		"ordering"    : false,
 		"info"        : true,
-		"autoWidth"   : false,
-		"serverSide"  : true,
+		"autoWidth"   : true,
+		"serverSide"  : false,
 		"ajax": {
 			"url": "/admin/audit/auditonefield",
 			"type": "post",
-			"data": {"field":{{.name}}}
+			"data": {"field":{{.name}},"coll":{{.coll}},"auditattr":{{.auditattr}}}
 		},
 		"language": {
-            "url": "/res/dist/js/dataTables.chinese.lang"
-        },
+            	"url": "/res/dist/js/dataTables.chinese.lang"
+       	},
 		"columns": [
-            { "data": "field"},
-			{ "data": "val"},
-			{ "data": "extractid"},
-			{ "data": "extractcoll"},
-			{ "data": "ispackage",render:function(val,a,row){
-				if(val){
-					return "是"
-				}else{
-					return "否"
-				}
-			}},
-			{ "data": "l_createtime"},
+			{ "data": {{.name}}},
 			{ "data": "_id",render:function(val,a,row){
-					return '<a class="btn btn-sm btn-success" href="#" onclick="audit(\''+row.val+'\',\''+val+'\',\''+row.extractid+'\',\''+row.extractcoll+'\')">审核</a>'
+					//return '<a class="btn btn-sm btn-success" href="#" onclick="audit(\''+row.val+'\',\''+val+'\',\''+row.extractid+'\',\''+row.extractcoll+'\')">审核</a>'
+				return '<a class="btn btn-sm btn-success" href="#">审核<a>';
 			}}
        	]
 	});
@@ -233,7 +213,7 @@ function auditsave(parentclass,childclass){
 	});
 }
 
-$(document).ready(function(){
+/*$(document).ready(function(){
 	$("#parentclass").change(function(){
 	    var parentname = $(this).val();
 		var child = classifymap[parentname];
@@ -246,5 +226,5 @@ $(document).ready(function(){
 			}
 		}
 	});
-});
+});*/
 </script>

+ 5 - 1
src/web/templates/admin/audit_recogfield.html

@@ -66,7 +66,7 @@ $(function () {
 			{ "data": "s_user"},
 			{ "data": "_id","width":"30%",render:function(val,a,row){
 				 return	 '<a class="btn btn-sm btn-info opr" opr="edit">编辑</a>'+
-					'&nbsp;&nbsp;<a class="btn btn-sm btn-success" href="/admin/audit/dataaudit?name='+row["s_recogfield"]+'">数据审核</a>'+
+					'&nbsp;&nbsp;<a class="btn btn-sm btn-success" href="/admin/audit/dataaudit?name='+row["s_recogfield"]+'&coll='+row["s_coll"]+'&auditattr='+row["s_auditattr"]+'">数据审核</a>'+
 					'&nbsp;&nbsp;<a class="btn btn-sm btn-warning" href="/admin/rulemanager/getrulelist?id='+val+'&fname='+row["s_recogfield"]+'">编辑规则</a>'+
 					'&nbsp;&nbsp;<a class="btn btn-sm btn-danger" onclick="del(\''+val+'\')">删除</a>'
 			}}
@@ -84,6 +84,10 @@ $(function () {
 				tag=[
 					{label:"名称",s_label:"s_name",must:true},
 					{label:"审核字段",s_label:"s_recogfield",must:true},
+					//{label:"信息库",s_label:"s_lib",must:true},
+					{label:"信息表",s_label:"s_coll",must:true},
+					{label:"异常标记",s_label:"s_tagattr",must:true},
+					{label:"审核标记",s_label:"s_auditattr",type:"tpl_list_local",must:true,list:[{"s_name":"正确","_id":"ok"},{"s_name":"异常","_id":"err"}],default:"ok"},
 					{s_label:"_id",type:"tpl_hidden"},
 				]
 				if(n == "new"){

+ 3 - 3
src/web/templates/admin/audit_rulelist.html

@@ -71,9 +71,9 @@ $(function () {
 			{ "data": "s_username"},
 			{ "data": "s_descript"},
 			{ "data": "s_type",render:function(val){
-				if(val=="0"){
+				if(val=="ok"){
 					return "正确";
-				}else if(val == "1"){
+				}else if(val == "err"){
 					return "异常";
 				}
 			}},
@@ -156,7 +156,7 @@ $(function () {
 					{label:"名称",s_label:"s_name",must:true},
 					{label:"描述",s_label:"s_descript"},
 					{label:"启用",s_label:"isuse",type:"tpl_list_local",list:[{"s_name":"是","_id":true},{"s_name":"否","_id":false}],default:true},
-					{label:"类型",s_label:"s_type",type:"tpl_list_local",must:true,list:[{"s_name":"正确","_id":"0"},{"s_name":"异常","_id":"1"}],default:"0"},
+					{label:"类型",s_label:"s_type",type:"tpl_list_local",must:true,list:[{"s_name":"正确","_id":"ok"},{"s_name":"异常","_id":"err"}],default:"ok"},
 					{label:"正则",s_label:"s_rule",type:"tpl_text",rows:2,must:true},
 					{s_label:"_id",type:"tpl_hidden"},
 					{s_label:"s_fid",type:"tpl_hidden",val:fid},

+ 1 - 1
src/web/templates/admin/clear.html

@@ -102,7 +102,7 @@ menuActive("version")
 var field = {{.field}};
 var _id = "";
 //var clearArr = ["cutspace","cutallspace","cutSymbol","cutNotPrs","clearAllWord","clearMaxAmount","clearProjectName","toint","tofloat","totimestamp","tomoney","getcurrency","getrate","getPhone","rateToFloat"]; 
-var clearMap = {"中文符号转英文":"chiToEng","去除首尾空格":"cutspace","去除所有空格":"cutallspace","清理符号":"cutSymbol","清理不成对符号后面的内容":"cutNotPrs","清理全部是汉字或者特殊符号的情况":"clearAllWord","过滤大于1万亿":"clearMaxAmount","清理项目名称":"clearProjectName","转int":"toint","转float":"tofloat","转时间戳":"totimestamp","转换金额":"tomoney","获取币种":"getcurrency","获取汇率":"getrate","取手机号":"getPhone","清理数字":"clearNumber","费率转小数":"rateToFloat","处理较长采购联系人":"clearBuyerPerson"}
+var clearMap = {"中文符号转英文":"chiToEng","去除首尾空格":"cutspace","去除所有空格":"cutallspace","清理符号":"cutSymbol","清理不成对符号后面的内容":"cutNotPrs","清理全部是汉字或者特殊符号的情况":"clearAllWord","过滤大于1万亿":"clearMaxAmount","清理项目名称":"clearProjectName","转int":"toint","转float":"tofloat","转时间戳":"totimestamp","转换金额":"tomoney","获取币种":"getcurrency","获取汇率":"getrate","取手机号":"getPhone","清理数字":"clearNumber","费率转小数":"rateToFloat","处理较长采购联系人":"clearBuyerPerson","去除尾部特殊符号":"clearEndSymblo"}
 $(function () {
 	ttableclear=$('#clearTable').DataTable({
 		"lengthChange": false,