Browse Source

Merge branch 'dev2.0' of http://192.168.3.207:8080/data_processing/data_validation into dev2.0

* 'dev2.0' of http://192.168.3.207:8080/data_processing/data_validation:
  xg
  修改-v_baseinfo 字段获取来源
Jianghan 3 years ago
parent
commit
ecffe607c3
4 changed files with 37 additions and 16 deletions
  1. 16 0
      src/front/group.go
  2. 6 5
      src/front/project.go
  3. 14 10
      src/front/quality.go
  4. 1 1
      src/web/templates/project/remark_detail.html

+ 16 - 0
src/front/group.go

@@ -42,6 +42,22 @@ func (f *Front) GroupTaskListByGroup() {
 		qu.Debug("Query:", query)
 		list, _ := util.Mgo.Find(util.TASKCOLLNAME, query, map[string]interface{}{"_id": -1}, nil, false, start, limit)
 		count := util.Mgo.Count(util.TASKCOLLNAME, query)
+		for _, l := range *list {
+			if status := qu.ObjToString(l["s_status"]); status == "进行中" { //更新任务进度
+				//groupId := qu.ObjToString(l["s_groupid"])
+				groupTaskId := mongodb.BsonIdToSId(l["_id"])
+				giveNum := qu.IntAll(l["i_givenum"])
+				sourceinfo := qu.ObjToString(l["s_sourceinfo"])
+				//tagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"b_isgivegroup": true, "s_grouptaskid": groupTaskId, "b_istag": true})
+				tagNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"s_grouptaskid": groupTaskId, "b_istag": true})
+				progressFloat := float64(tagNum) / float64(giveNum)
+				value, _ := strconv.ParseFloat(fmt.Sprintf("%.2f", progressFloat), 64)
+				progress := fmt.Sprint(value*100) + "%"
+				l["s_progress"] = progress
+				//同步数据库
+				util.Mgo.UpdateById(util.TASKCOLLNAME, l["_id"], map[string]interface{}{"$set": map[string]interface{}{"s_progress": progress}})
+			}
+		}
 		f.ServeJson(map[string]interface{}{"draw": draw, "data": *list, "recordsFiltered": count, "recordsTotal": count})
 	} else {
 		_ = f.Render("project/task_group_list.html")

+ 6 - 5
src/front/project.go

@@ -243,6 +243,7 @@ func (f *Front) ProjectQualityAssessment() {
 					fieldsArr = append(fieldsArr, f)
 				}
 				sourceinfo := qu.ObjToString((*project)["s_sourceinfo"])
+				qu.Debug("质量评估字段:", fieldsArr)
 				success = QuaFieldScore(fieldsArr, sourceinfo) //调用数据质量评估接口
 				if success {
 					//点击清洗更新项目状态为进行中
@@ -377,9 +378,9 @@ func (f *Front) ProjectGroupTaskSave() {
 		msg = "用户组信息解析失败"
 	} else {
 		qu.Debug("用户组信息:", groupArr, stype)
-		if stype != "tag" { //如果分发的是达标数据或者全部数据且进行了初步质检,将没有质检记录的字段从v_taginfo标注记录中删除
-			DeleleDataTagInfo(sourceinfo)
-		}
+		//if stype != "tag" { //如果分发的是达标数据或者全部数据且进行了初步质检,将没有质检记录的字段从v_taginfo标注记录中删除
+		//	DeleleDataTagInfo(sourceinfo)
+		//}
 		for _, groupInfo := range groupArr {
 			groupId := qu.ObjToString(groupInfo["s_groupid"])
 			groupIdArr = append(groupIdArr, groupId)
@@ -1087,8 +1088,8 @@ func GetDataById(idsInfo map[string]map[string]interface{}, importType, s_source
 				baseInfoMap["i_createtime"] = time.Now().Unix()
 				baseInfoMap["b_isgivegroup"] = false //是否分配给用户组
 				baseInfoMap["b_istag"] = false       //是否已标注
-				baseInfoMap["b_cleartag"] = false    //是否清理标注信息
-				baseInfoMap["b_isgiveuser"] = false  //是否分配给用户
+				//baseInfoMap["b_cleartag"] = false    //是否清理标注信息
+				baseInfoMap["b_isgiveuser"] = false //是否分配给用户
 				if util.Mgo.SaveByOriID(s_sourceinfo, baseInfoMap) {
 					atomic.AddInt64(successNum, 1) //保存成功计数
 				} else {

+ 14 - 10
src/front/quality.go

@@ -57,13 +57,17 @@ func QuaFieldScore(field_tag []string, coll_name string) bool {
 
 //计算字段分
 func calculateFieldScore(tmp map[string]interface{}, field_tag []string) map[string]interface{} {
-	source := *qu.ObjToMap(tmp["field_source"])
+
+	//所有字段
+	v_baseinfo := *qu.ObjToMap(tmp["v_baseinfo"])
+	source := *qu.ObjToMap(v_baseinfo["field_source"])
+
 	f_s := qua.FieldSourceScore(source) //打初始分
 	update_dict := make(map[string]interface{}, 0)
-	buyer_s := qua.BuyerFieldScore(tmp, f_s["buyer"])
-	budget_s := qua.BudgetFieldScore(tmp, f_s["budget"])
-	projectname_s := qua.ProjectnameFieldScore(tmp, f_s["projectname"])
-	projectcode_s := qua.ProjectcodeFieldScore(tmp, f_s["projectcode"])
+	buyer_s := qua.BuyerFieldScore(v_baseinfo, f_s["buyer"])
+	budget_s := qua.BudgetFieldScore(v_baseinfo, f_s["budget"])
+	projectname_s := qua.ProjectnameFieldScore(v_baseinfo, f_s["projectname"])
+	projectcode_s := qua.ProjectcodeFieldScore(v_baseinfo, f_s["projectcode"])
 
 	update_dict["buyer"] = buyer_s
 	update_dict["budget"] = budget_s
@@ -72,9 +76,9 @@ func calculateFieldScore(tmp map[string]interface{}, field_tag []string) map[str
 
 	subtype := qu.ObjToString(tmp["subtype"])
 	if subtype == "中标" || subtype == "成交" || subtype == "合同" {
-		s_winner_s := qua.WinnerFieldScore(tmp, f_s["s_winner"])
+		s_winner_s := qua.WinnerFieldScore(v_baseinfo, f_s["s_winner"])
 		update_dict["s_winner"] = s_winner_s
-		bidamount_s := qua.BidamountFieldScore(tmp, f_s["bidamount"])
+		bidamount_s := qua.BidamountFieldScore(v_baseinfo, f_s["bidamount"])
 		update_dict["bidamount"] = bidamount_s
 	}
 
@@ -114,9 +118,9 @@ func calculateFieldScore(tmp map[string]interface{}, field_tag []string) map[str
 			"b_istagging":   b_istagging,
 			"b_isprchasing": b_isprchasing,
 			"i_ckdata":      ckdata,
-			"b_istag":       true,
-			"b_isgivegroup": true,
-			"b_isgiveuser":  true,
+			"b_istag":       !b_istagging,
+			"b_isgivegroup": !b_istagging,
+			"b_isgiveuser":  !b_istagging,
 		},
 	}
 }

+ 1 - 1
src/web/templates/project/remark_detail.html

@@ -1384,7 +1384,7 @@
                         return;
                     }
                     $.ajax({
-                        url: "/front/data/mark",
+                        url: "/front/data/user/mark",
                         method: "post",
                         data: {"data": d, "s_infoid": _id, "s_usertaskid": tid},
                         success: function (res) {