Browse Source

Merge branch 'dev-ent_v1.1' of ssh://192.168.3.207:10022/qmx/datatag into dev-ent_v1.1

zouyuxuan 5 years ago
parent
commit
ade52c66a6

+ 22 - 13
customerdata/src/config.json

@@ -3,26 +3,26 @@
 	"dbsize": 10,
 	"dbname": "datatag_ent",
 	"tasktime": 1,
-	"latestid": "56388138af53745d9a000000",
+	"latestid": "5f3a0c8da120e23754ca0b1b",
 	"buyerinfo": {
 		"addr": "192.168.3.166:27082",
-		"size": 15,
+		"buyerentcoll": "buyer_ent",
 		"db": "public",
 		"hospcoll": "buyer_rank",
-		"buyerentcoll": "buyer_ent"
+		"size": 15
 	},
-	"enterprise": { 
+	"enterprise": {
 		"addr": "192.168.3.207:27092",
-		"size": 15,
+		"coll": "qyxy_ent",
 		"db": "mxs",
-		"coll": "qyxy_ent"
+		"size": 15
 	},
 	"save": {
 		"addr": "192.168.3.207:27092",
-		"size": 15,
-		"db": "xzh",
 		"coll": "usermail_0812_01",
-		"coll_project": "usermail_projectid_0812_01"
+		"coll_project": "usermail_projectid_0812_01",
+		"db": "xzh",
+		"size": 15
 	},
 	"es": {
 		"addr": "http://127.0.0.1:9800",
@@ -30,9 +30,18 @@
 		"itype": "bidding",
 		"pool": 15
 	},
-	"project_appid": [
-		"111",
-		"222",
-		"jyPB1XQgsGBQNbQElICQNW"
+	"project_appid": ["111", "222", "jyPB1XQgsGBQNbQElICQNW"],
+	"s_winner_filter": [",", "//", "、", ";", ";", "#_#", "(01包)", "(02包)", "(1)", "(12)", "(1包)", "(A)", "(A包)",
+		"(按综合评分法排列名次)", "(包1)", "(包5)", "(包二)", "(包件1)", "(包件2)", "(包件一)", "(包三)", "(包四)", "(包一)",
+		"(包一)",
+		"(包组01)", "(包组一)", "(标段一)", "(标项一)", "(成)", "(成员)", "(成员单位)", "(单位名称)", "(第1包)", "(第2包)",
+		"(第3包)",
+		"(第4包)", "(第二包)", "(第二包)", "(第二包中标供应商)", "(第六包)", "(第七包)", "(第三包)", "(第四包)", "(第五包)", "(第一包)",
+		"(电子公章)", "(二包)", "(盖公章)", "(盖章)", "(进口产品代理商)", "(进口代理商)", "(联合体)", "(联合体)", "(联合体成员)",
+		"(联合体牵头单位)", "(联合体牵头人)", "(联合体牵头人)", "(联合体主体)", "(卖方)", "(牵)", "(牵头单位)", "(牵头方)", "(牵头人)",
+		"(全称)",
+		"(实施方)", "(无分包)", "(小微企业)", "(一)", "(一包)", "(一标段)", "(乙方)", "(元)", "(中型企业)", "(重点部分看控)",
+		"(主):",
+		"(主)", "(主)", "(成)", "(主办方)", "(主办方)", "(主体)", "(主体)", "(成员)", "(成员方)", "包1:", "包2:", "/"
 	]
 }

+ 26 - 12
customerdata/src/main.go

@@ -11,8 +11,22 @@ import (
 	"github.com/donnie4w/go-logger/logger"
 )
 
+type sysconfig struct {
+	Mgodb         string                 `json:"mgodb"`
+	DbSize        int                    `json:"dbsize"`
+	DbName        string                 `json:"dbname"`
+	TaskTime      int64                  `json:"tasktime"`
+	LatestId      string                 `json:"latestid"`
+	BuyerInfo     map[string]interface{} `json:"buyerinfo"`
+	Enterprise    map[string]interface{} `json:"enterprise"`
+	Save          map[string]interface{} `json:"save"`
+	Es            map[string]interface{} `json:"es"`
+	ProjectAppid  []string               `json:"project_appid"`
+	SWinnerFilter []string               `json:"s_winner_filter"`
+}
+
 var (
-	Sysconfig    map[string]interface{}
+	Sysconfig    sysconfig
 	LatestId     string              //起始id
 	MgoTag       *mongodb.MongodbSim //标签库连接
 	MgoSave      *mongodb.MongodbSim //数据保存库连接
@@ -42,13 +56,13 @@ func init() {
 	logger.SetRollingDaily("./logs", "spider.log")
 	//mgo datatag
 	MgoTag = &mongodb.MongodbSim{
-		MongodbAddr: qu.ObjToString(Sysconfig["mgodb"]),
-		DbName:      qu.ObjToString(Sysconfig["dbname"]),
-		Size:        qu.IntAllDef(Sysconfig["dbsize"], 15),
+		MongodbAddr: qu.ObjToString(Sysconfig.Mgodb),
+		DbName:      qu.ObjToString(Sysconfig.DbName),
+		Size:        qu.IntAllDef(Sysconfig.DbSize, 15),
 	}
 	MgoTag.InitPool()
 	//mgo save
-	save := Sysconfig["save"].(map[string]interface{})
+	save := Sysconfig.Save
 	SaveColl = qu.ObjToString(save["coll"])
 	SaveCollProject = qu.ObjToString(save["coll_project"])
 	MgoSave = &mongodb.MongodbSim{
@@ -58,7 +72,7 @@ func init() {
 	}
 	MgoSave.InitPool()
 	//mgo buyerinfo
-	buyerinfo := Sysconfig["buyerinfo"].(map[string]interface{})
+	buyerinfo := Sysconfig.BuyerInfo
 	HospColl = qu.ObjToString(buyerinfo["hospcoll"])
 	BuyerEntColl = qu.ObjToString(buyerinfo["buyerentcoll"])
 	MgoBuyer = &mongodb.MongodbSim{
@@ -68,7 +82,7 @@ func init() {
 	}
 	MgoBuyer.InitPool()
 	//mgo enterprise
-	enterprise := Sysconfig["enterprise"].(map[string]interface{})
+	enterprise := Sysconfig.Enterprise
 	EnpsColl = qu.ObjToString(enterprise["coll"])
 	MgoEnps = &mongodb.MongodbSim{
 		MongodbAddr: qu.ObjToString(enterprise["addr"]),
@@ -78,7 +92,7 @@ func init() {
 	MgoEnps.InitPool()
 
 	//es
-	es := Sysconfig["es"].(map[string]interface{})
+	es := Sysconfig.Es
 	Es = &elastic.Elastic{
 		S_esurl: qu.ObjToString(es["addr"]),
 		I_size:  qu.IntAllDef(es["pool"], 15),
@@ -87,16 +101,16 @@ func init() {
 	Index = qu.ObjToString(es["index"])
 	Itype = qu.ObjToString(es["itype"])
 	//
-	TaskTime = qu.Int64All(Sysconfig["tasktime"])
-	LatestId = qu.ObjToString(Sysconfig["latestid"])
+	TaskTime = Sysconfig.TaskTime
+	LatestId = Sysconfig.LatestId
 	// tmp := map[string]interface{}{
 	// 	"buyer":    "四川大学华西第二医院",
 	// 	"s_winner": "邓州市兴都供销社第八门市部",
 	// }
 	// AssembelSave(tmp, true, true)
 	// qu.Debug(tmp)
-	for _, v := range Sysconfig["project_appid"].([]interface{}) {
-		projectAppidMap[v.(string)] = true
+	for _, v := range Sysconfig.ProjectAppid {
+		projectAppidMap[v] = true
 	}
 }
 func main() {

+ 17 - 1
customerdata/src/task.go

@@ -209,7 +209,23 @@ func (c *Customer) GetData(stype string) {
 								tmp["id"] = id //记录数据原有id
 								delete(tmp, "_id")
 								if sr.ExtFieldType == 2 {
-									findwinner := strings.TrimSpace(qu.ObjToString(tmp["winner"]))
+									findwinner := ""
+									s_winner := strings.Split(qu.ObjToString(tmp["s_winner"]), ",")
+									if len(s_winner) > 0 {
+										for i := 0; i < len(s_winner); i++ {
+											findwinners := strings.TrimSpace(s_winner[i])
+											if findwinners != "" {
+												for _, v := range Sysconfig.SWinnerFilter {
+													strings.ReplaceAll(findwinners, v, "")
+												}
+												if findwinners != "" {
+													findwinner = findwinners
+													break
+												}
+											}
+										}
+									}
+									// findwinner := strings.TrimSpace(qu.ObjToString(tmp["winner"]))
 									if findwinner != "" {
 										finddata := MgoEnps.FindOne(EnpsColl, bson.M{"company_name": findwinner})
 										if finddata != nil {

+ 3 - 1
customerdata/src/util.go

@@ -207,6 +207,8 @@ func GetIdRange() (bson.M, bool) {
 					},
 				}
 				LatestId = qu.ObjToString((*list)[0]["_id"])
+				Sysconfig.LatestId = LatestId
+				qu.WriteSysConfig(Sysconfig)
 				return tmpRange, true
 			}
 		} else { //结束id不大于起始id 退出
@@ -808,7 +810,7 @@ func InitProjectId(appid string) {
 		MgoSave.DestoryMongoConn(session)
 		log.Printf("本次共取到%d个projectId\n", count)
 	}()
-	save := Sysconfig["save"].(map[string]interface{})
+	save := Sysconfig.Save
 	query := map[string]interface{}{"appid": appid}
 	field := map[string]interface{}{"projectId": 1}
 	iter := session.DB(qu.ObjToString(save["db"])).C(SaveColl).Find(query).Select(field).Sort("_id").Iter()

+ 13 - 0
src/config.json

@@ -73,5 +73,18 @@
 		"111",
 		"222",
 		"jyPB1XQgsGBQNbQElICQNW"
+	],
+	"s_winner_filter": [",", "//", "、", ";", ";", "#_#", "(01包)", "(02包)", "(1)", "(12)", "(1包)", "(A)", "(A包)",
+		"(按综合评分法排列名次)", "(包1)", "(包5)", "(包二)", "(包件1)", "(包件2)", "(包件一)", "(包三)", "(包四)", "(包一)",
+		"(包一)",
+		"(包组01)", "(包组一)", "(标段一)", "(标项一)", "(成)", "(成员)", "(成员单位)", "(单位名称)", "(第1包)", "(第2包)",
+		"(第3包)",
+		"(第4包)", "(第二包)", "(第二包)", "(第二包中标供应商)", "(第六包)", "(第七包)", "(第三包)", "(第四包)", "(第五包)", "(第一包)",
+		"(电子公章)", "(二包)", "(盖公章)", "(盖章)", "(进口产品代理商)", "(进口代理商)", "(联合体)", "(联合体)", "(联合体成员)",
+		"(联合体牵头单位)", "(联合体牵头人)", "(联合体牵头人)", "(联合体主体)", "(卖方)", "(牵)", "(牵头单位)", "(牵头方)", "(牵头人)",
+		"(全称)",
+		"(实施方)", "(无分包)", "(小微企业)", "(一)", "(一包)", "(一标段)", "(乙方)", "(元)", "(中型企业)", "(重点部分看控)",
+		"(主):",
+		"(主)", "(主)", "(成)", "(主办方)", "(主办方)", "(主体)", "(主体)", "(成员)", "(成员方)", "包1:", "包2:", "/"
 	]
 }

+ 2 - 1
src/history/historytask.go

@@ -99,7 +99,7 @@ func (this *HistoryData) HistoryTask(history_id string) {
 func (this *HistoryData) HistoryList() {
 	id := this.GetString("id")
 	if this.Method() == "POST" {
-		data, _ := Mgo.Find("historylog", map[string]interface{}{"user_id": id}, `{"updatetime":-1}`, nil, false, -1, -1)
+		data, _ := Mgo.Find("historylog", map[string]interface{}{"user_id": id}, `{"createtime":-1}`, nil, false, -1, -1)
 		this.ServeJson(map[string]interface{}{
 			"data": data,
 		})
@@ -115,6 +115,7 @@ func UpdateHistoryState(state int, history_id string, count int) {
 			"$set": map[string]interface{}{
 				"state":        state,
 				"result_count": count,
+				"finishtime":   time.Now().Unix(),
 			},
 		}, false, false)
 		return

+ 17 - 1
src/history/task.go

@@ -157,7 +157,23 @@ func (c *Customer) GetData(stype string) {
 								tmp["id"] = id //记录数据原有id
 								delete(tmp, "_id")
 								if sr.ExtFieldType == 2 {
-									findwinner := strings.TrimSpace(qu.ObjToString(tmp["winner"]))
+									findwinner := ""
+									s_winner := strings.Split(qu.ObjToString(tmp["s_winner"]), ",")
+									if len(s_winner) > 0 {
+										for i := 0; i < len(s_winner); i++ {
+											findwinners := strings.TrimSpace(s_winner[i])
+											if findwinners != "" {
+												for _, v := range Sysconfig["s_winner_filter"].([]interface{}) {
+													strings.ReplaceAll(findwinners, v.(string), "")
+												}
+												if findwinners != "" {
+													findwinner = findwinners
+													break
+												}
+											}
+										}
+									}
+									// findwinner := strings.TrimSpace(qu.ObjToString(tmp["winner"]))
 									if findwinner != "" {
 										finddata := MgoEnps.FindOne(EnpsColl, bson.M{"company_name": findwinner})
 										if finddata != nil {

+ 16 - 6
src/web/templates/private/customer_history.html

@@ -31,7 +31,7 @@
                                 <div class="box-header with-border">
                                     <i class="fa fa-tag"></i>
                                     <h3 class="box-title">用户基本信息</h3>
-                                    <a class="btn btn-primary btn-sm" style="float: right;margin-top: 7px;margin-right: 10px" onclick="saveCuser()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存</a>
+                                    <a class="btn btn-primary btn-sm saveHistorylog" style="float: right;margin-top: 7px;margin-right: 10px" onclick="saveCuser()"><i class="fa fa-fw fa-file-text fa-lg"></i>保存</a>
                                 </div>
                                 <div class="box-body">
                                     <div class="form-group">
@@ -132,8 +132,8 @@
                                     <table id="departTable" class="table table-bordered">
                                         <thead>
                                         <div style="margin: 10px 10px 0px;">
-                                            <a class="btn btn-default" onclick="showDepart()">新增</a>
-                                            <a class="btn btn-default" onclick="select_Depart()">选择</a>
+                                            <a class="btn btn-default addHistoryRule" onclick="showDepart()">新增</a>
+                                            <a class="btn btn-default chooseHistoryRule" onclick="select_Depart()">选择</a>
                                         </div>
                                         <tr class="show-select">
                                             <th>编号</th>
@@ -270,6 +270,12 @@
     var selected_rules = [];
     var c_id = getParam("id");
     var hid = getParam("hid");
+    var ischeck = getParam("check");
+    if (ischeck == "true"){
+        $(".saveHistorylog").hide();
+        $(".addHistoryRule").hide();
+        $(".chooseHistoryRule").hide();
+    }
     if (history_rule !== null){
         if (history_rule.length>0){
             html = "";
@@ -292,8 +298,11 @@
                 for (var i=0;i<selected_rules.length;i++){
                     html += '<tr><td>'+num+'</td><td>'+selected_rules[i].department_name+'</td><td>'+selected_rules[i].rule_name+'</td><td>'+selected_rules[i].update_time+'</td>'+'<td>'+selected_rules[i].department_status+'</td>'+'<td>'+selected_rules[i].rule_status+'</td>';
                     // if (selected_rules[i].isinc == "true"){
-                    html += '<td><a class="btn btn-info" eid="'+selected_rules[i].rule_id+'" onclick="updateRule(this)">编辑</a><a style="margin-left:10px" class="btn btn-danger" eid="'+selected_rules[i].rule_id+'" onclick="del_selected_rule(this)">删除</a></td>'
-                    // html += '<td></td>'
+                    if (ischeck == "true"){
+                        html += '<td></td>'
+                    }else{
+                        html += '<td><a class="btn btn-info" eid="'+selected_rules[i].rule_id+'" onclick="updateRule(this)">编辑</a><a style="margin-left:10px" class="btn btn-danger" eid="'+selected_rules[i].rule_id+'" onclick="del_selected_rule(this)">删除</a></td>'
+                    }
                     // html += '<td></td>'
                     num++
                 }
@@ -317,7 +326,8 @@
             }else {
                 $('#pushSwitch').bootstrapSwitch('state', false);
             }
-            $('#pushModelSelect').val(dataMap.i_pushmodel)
+            $('#pushModelSelect').val(dataMap.i_pushmodel);
+            $('#extfiledselect').val(dataMap.i_extfieldstype);
             if (dataMap.i_pushtype == 0) {
                 $('#pushTypeSelect').val(0)
             }else {

+ 7 - 4
src/web/templates/private/historylog_list.html

@@ -173,13 +173,13 @@
                         var tmp = "";
                         if(row.state === 2){
                             tmp = '<div>' +
-                              '<a class="btn btn-sm btn-primary" href="/service/customer/history?id='+ row.user_id +'&hid='+ val +'">编辑</a>' +
+                              '<a class="btn btn-sm btn-primary" href="/service/customer/history?id='+ row.user_id +'&hid='+ val +'&check=true">查看</a>' +
                               '<a style="margin-left:10px" class="btn btn-sm btn-success" disabled>完成</a>' +
                               '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="'+val+'" onclick="cloneWork(this)">克隆</a>' +
                               '</div>';
                         }else if(row.state === 1){
                             tmp = '<div>' +
-                              '<a class="btn btn-sm btn-primary" href="/service/customer/history?id='+ row.user_id +'&hid='+ val +'">编辑</a>' +
+                              '<a class="btn btn-sm btn-primary" href="/service/customer/history?id='+ row.user_id +'&hid='+ val +'&check=true">查看</a>' +
                               '<a style="margin-left:10px" class="btn btn-sm btn-info">进行</a>' +
                               '<a style="margin-left:10px" class="btn btn-sm btn-info" eid="'+val+'" onclick="cloneWork(this)">克隆</a>' +
                               '</div>';
@@ -277,8 +277,11 @@
                     }
                 },
                 {
-                    "data": "updatetime",
-                    render: function(val) {
+                    "data": "finishtime",
+                    render: function(val) {
+                        if (val === undefined){
+                            return 未执行
+                        }
                         var dt = new Date()
                         dt.setTime(parseInt(val) * 1000)
                         return dt.format("yyyy-MM-dd hh:mm:ss")