maxiaoshan 3 лет назад
Родитель
Сommit
918bfaafb6
4 измененных файлов с 78 добавлено и 62 удалено
  1. 62 52
      src/front/mark.go
  2. 4 3
      src/front/project.go
  3. 9 5
      src/front/user.go
  4. 3 2
      src/util/common.go

+ 62 - 52
src/front/mark.go

@@ -23,9 +23,13 @@ func (f *Front) JyMarkList() {
 		dataType := f.GetString("datatype")       //信息类型
 		min := f.GetString("minval")              //min max不用int类型接收,以免有默认值0
 		max := f.GetString("maxval")
-		hasno, _ := f.GetBool("hasno") //是否存在
-		notag, _ := f.GetBool("notag") //是否标注
-		query := map[string]interface{}{}
+		hasno, _ := f.GetBool("hasno")   //是否存在
+		notag, _ := f.GetBool("notag")   //是否标注
+		query := map[string]interface{}{ //剑鱼自用的标注页面,数据排除已分发已标注数据
+			"b_istag":       false,
+			"b_isgivegroup": false,
+			"b_isgiveuser":  false,
+		}
 		if stype == "notag" { //查询达标
 			query["b_istagging"] = false
 		} else if stype == "tag" { //查询未达标
@@ -88,19 +92,20 @@ func (f *Front) JyMarkList() {
 	}
 }
 
-// UserDataMark 标注人员数据标注(基于任务的标注)
-func (f *Front) UserDataMark() {
-	qu.Debug("------------------")
+// JyUserDataMark 剑鱼管理人员数据标注
+func (f *Front) JyUserDataMark() {
 	defer qu.Catch()
 	success := false
 	msg := ""
 	user := f.GetSession("user").(map[string]interface{})
 	username := qu.ObjToString(user["s_login"]) //当前登录用户
-	userid := qu.ObjToString(user["id"])        //当前登录用户标识
+	groupId := qu.ObjToString(user["s_groupid"])
+	userId := qu.ObjToString(user["id"]) //当前登录用户标识
 	obj := []map[string]interface{}{}
 	infoId := f.GetString("s_infoid")
-	userTaskId := f.GetString("s_usertaskid")
-	qu.Debug("Task ID:", userTaskId, "	Data ID:", infoId)
+	sourceInfo := f.GetString("s_sourceinfo")
+	pid := f.GetString("pid")
+	qu.Debug("Data ID:", infoId)
 	data := f.GetString("data")
 	err := json.Unmarshal([]byte(data), &obj)
 	if err != nil {
@@ -111,8 +116,7 @@ func (f *Front) UserDataMark() {
 	tagSet := map[string]interface{}{}    //被标注字段状态
 	baseSet := map[string]interface{}{}   //要修改的字段信息
 	baseUnset := map[string]interface{}{} //要删除的字段信息
-	//isSaveMarked := false
-	if len(obj) == 1 { //单独保存某个一级
+	if len(obj) == 1 {                    //单独保存某个一级
 		content, ok := obj[0]["content"].([]interface{})
 		if !ok || len(content) == 0 {
 			f.ServeJson(map[string]interface{}{"success": success, "msg": "解析数据失败"})
@@ -159,13 +163,6 @@ func (f *Front) UserDataMark() {
 			}
 		}
 	}
-	//
-	userTask, _ := util.Mgo.FindById(util.TASKCOLLNAME, userTaskId, map[string]interface{}{"s_personid": 1, "s_personname": 1, "s_projectname": 1, "s_sourceinfo": 1})
-	if userTask == nil || len(*userTask) == 0 {
-		f.ServeJson(map[string]interface{}{"success": success, "msg": "查询用户任务失败"})
-		return
-	}
-	sourceInfo := qu.ObjToString((*userTask)["s_sourceinfo"])                                                     //数据源表
 	dataInfo, _ := util.Mgo.FindById(sourceInfo, infoId, map[string]interface{}{"v_baseinfo": 1, "v_taginfo": 1}) //查询标注保存前的原始信息
 	tagInfo, _ := (*dataInfo)["v_taginfo"].(map[string]interface{})
 	baseInfo, _ := (*dataInfo)["v_baseinfo"].(map[string]interface{})
@@ -200,9 +197,14 @@ func (f *Front) UserDataMark() {
 	if len(tagSet) > 0 || baseInfo["purchasinglist_alltag"] != nil { //purchasinglist_alltag特殊处理
 		//1、更新数据源信息
 		setResult := map[string]interface{}{ //更新字段集
-			"i_updatetime": time.Now().Unix(),
-			"i_ckdata":     2,
-			"b_istag":      true,
+			"i_updatetime":  time.Now().Unix(),
+			"i_ckdata":      2,
+			"b_istag":       true,
+			"s_userid":      userId,
+			"s_groupid":     groupId,
+			"b_isgiveuser":  true,
+			"b_isgivegroup": true,
+			"s_login":       username,
 		}
 		for field, val := range tagSet { //更新标注字段
 			setResult["v_taginfo."+field] = val
@@ -235,37 +237,26 @@ func (f *Front) UserDataMark() {
 			表示页面标注时未做修改标注
 		}
 	*/
-	//3、修改任务状态
-	b := util.Mgo.Update(util.TASKCOLLNAME, map[string]interface{}{"_id": (*userTask)["_id"], "s_status": "未开始"}, map[string]interface{}{
-		"$set": map[string]interface{}{
-			"i_starttime":    time.Now().Unix(),
-			"i_updatetime":   time.Now().Unix(),
-			"s_updateperson": username,
-			"s_status":       "进行中",
-		},
-	}, false, false)
-	qu.Debug("Update UserTask:", b)
-	//4、保存标注日志
-	b = SaveLog(infoId, userTaskId, username, userid, qu.ObjToString((*userTask)["s_projectname"]), "标注", baseInfo, allTagFields)
+	//3、保存标注日志
+	project, _ := util.Mgo.FindById(util.PROJECTCOLLNAME, pid, map[string]interface{}{"s_name": 1})
+	b := SaveLog(infoId, "", username, userId, qu.ObjToString((*project)["s_name"]), "标注", baseInfo, allTagFields)
 	qu.Debug("Save Log:", b)
 	f.ServeJson(map[string]interface{}{"success": success, "msg": msg})
 }
 
-// JyUserDataMark 剑鱼管理人员数据标注
-func (f *Front) JyUserDataMark() {
+// UserDataMark 标注人员数据标注(基于任务的标注)
+func (f *Front) UserDataMark() {
+	qu.Debug("------------------")
 	defer qu.Catch()
 	success := false
 	msg := ""
 	user := f.GetSession("user").(map[string]interface{})
 	username := qu.ObjToString(user["s_login"]) //当前登录用户
-	groupId := qu.ObjToString(user["s_groupid"])
-	userId := qu.ObjToString(user["id"])
-	userid := qu.ObjToString(user["id"]) //当前登录用户标识
+	userid := qu.ObjToString(user["id"])        //当前登录用户标识
 	obj := []map[string]interface{}{}
 	infoId := f.GetString("s_infoid")
-	sourceInfo := f.GetString("s_sourceinfo")
-	pid := f.GetString("pid")
-	qu.Debug("Data ID:", infoId)
+	userTaskId := f.GetString("s_usertaskid")
+	qu.Debug("Task ID:", userTaskId, "	Data ID:", infoId)
 	data := f.GetString("data")
 	err := json.Unmarshal([]byte(data), &obj)
 	if err != nil {
@@ -276,7 +267,8 @@ func (f *Front) JyUserDataMark() {
 	tagSet := map[string]interface{}{}    //被标注字段状态
 	baseSet := map[string]interface{}{}   //要修改的字段信息
 	baseUnset := map[string]interface{}{} //要删除的字段信息
-	if len(obj) == 1 {                    //单独保存某个一级
+	//isSaveMarked := false
+	if len(obj) == 1 { //单独保存某个一级
 		content, ok := obj[0]["content"].([]interface{})
 		if !ok || len(content) == 0 {
 			f.ServeJson(map[string]interface{}{"success": success, "msg": "解析数据失败"})
@@ -323,6 +315,13 @@ func (f *Front) JyUserDataMark() {
 			}
 		}
 	}
+	//
+	userTask, _ := util.Mgo.FindById(util.TASKCOLLNAME, userTaskId, map[string]interface{}{"s_personid": 1, "s_personname": 1, "s_projectname": 1, "s_sourceinfo": 1})
+	if userTask == nil || len(*userTask) == 0 {
+		f.ServeJson(map[string]interface{}{"success": success, "msg": "查询用户任务失败"})
+		return
+	}
+	sourceInfo := qu.ObjToString((*userTask)["s_sourceinfo"])                                                     //数据源表
 	dataInfo, _ := util.Mgo.FindById(sourceInfo, infoId, map[string]interface{}{"v_baseinfo": 1, "v_taginfo": 1}) //查询标注保存前的原始信息
 	tagInfo, _ := (*dataInfo)["v_taginfo"].(map[string]interface{})
 	baseInfo, _ := (*dataInfo)["v_baseinfo"].(map[string]interface{})
@@ -357,13 +356,9 @@ func (f *Front) JyUserDataMark() {
 	if len(tagSet) > 0 || baseInfo["purchasinglist_alltag"] != nil { //purchasinglist_alltag特殊处理
 		//1、更新数据源信息
 		setResult := map[string]interface{}{ //更新字段集
-			"i_updatetime":  time.Now().Unix(),
-			"i_ckdata":      2,
-			"b_istag":       true,
-			"s_userid":      userId,
-			"s_groupid":     groupId,
-			"b_isgiveuser":  true,
-			"b_isgivegroup": true,
+			"i_updatetime": time.Now().Unix(),
+			"i_ckdata":     2,
+			"b_istag":      true,
 		}
 		for field, val := range tagSet { //更新标注字段
 			setResult["v_taginfo."+field] = val
@@ -396,13 +391,23 @@ func (f *Front) JyUserDataMark() {
 			表示页面标注时未做修改标注
 		}
 	*/
-	//3、保存标注日志
-	project, _ := util.Mgo.FindById(util.PROJECTCOLLNAME, pid, map[string]interface{}{"s_name": 1})
-	b := SaveLog(infoId, "", username, userid, qu.ObjToString((*project)["s_name"]), "标注", baseInfo, allTagFields)
+	//3、修改任务状态
+	b := util.Mgo.Update(util.TASKCOLLNAME, map[string]interface{}{"_id": (*userTask)["_id"], "s_status": "未开始"}, map[string]interface{}{
+		"$set": map[string]interface{}{
+			"i_starttime":    time.Now().Unix(),
+			"i_updatetime":   time.Now().Unix(),
+			"s_updateperson": username,
+			"s_status":       "进行中",
+		},
+	}, false, false)
+	qu.Debug("Update UserTask:", b)
+	//4、保存标注日志
+	b = SaveLog(infoId, userTaskId, username, userid, qu.ObjToString((*userTask)["s_projectname"]), "标注", baseInfo, allTagFields)
 	qu.Debug("Save Log:", b)
 	f.ServeJson(map[string]interface{}{"success": success, "msg": msg})
 }
 
+// MarkBase 标注基本信息
 func MarkBase(content []interface{}, tagSet, baseSet, baseUnset map[string]interface{}) {
 	defer qu.Catch()
 	info, _ := content[0].(map[string]interface{})
@@ -446,6 +451,7 @@ func MarkBase(content []interface{}, tagSet, baseSet, baseUnset map[string]inter
 	qu.Debug("baseUnset===", baseUnset)
 }
 
+// MarkTimePlace 标注时间地点
 func MarkTimePlace(content []interface{}, tagSet, baseSet, baseUnset map[string]interface{}) {
 	info, _ := content[0].(map[string]interface{})
 	if uInputs, ok := info["uInput"].([]interface{}); ok {
@@ -480,6 +486,7 @@ func MarkTimePlace(content []interface{}, tagSet, baseSet, baseUnset map[string]
 	qu.Debug("baseUnset===", baseUnset)
 }
 
+// MarkPurchasinglist 标注标的信息
 func MarkPurchasinglist(content []interface{}, tagSet, baseSet, baseUnset map[string]interface{}, istag bool, status int) {
 	if status == -1 {
 		return
@@ -538,6 +545,7 @@ func MarkPurchasinglist(content []interface{}, tagSet, baseSet, baseUnset map[st
 	qu.Debug("baseUnset===", baseUnset)
 }
 
+// MarkPackage 标注多包信息
 func MarkPackage(content []interface{}, tagSet, baseSet, baseUnset map[string]interface{}, status int) {
 	if status == -1 {
 		return
@@ -641,6 +649,7 @@ func MarkPackage(content []interface{}, tagSet, baseSet, baseUnset map[string]in
 	qu.Debug("baseUnset===", baseUnset)
 }
 
+//标注中标候选人信息
 func MarkWonderorder(content []interface{}, tagSet, baseSet, baseUnset map[string]interface{}, status int) {
 	if status == -1 {
 		return
@@ -696,6 +705,7 @@ func MarkWonderorder(content []interface{}, tagSet, baseSet, baseUnset map[strin
 	qu.Debug("baseUnset===", baseUnset)
 }
 
+//标注其他信息
 func MarkOther(content []interface{}, tagSet, baseSet, baseUnset map[string]interface{}) {
 	info, _ := content[0].(map[string]interface{})
 	if uInputs, ok := info["uInput"].([]interface{}); ok {

+ 4 - 3
src/front/project.go

@@ -432,7 +432,7 @@ func (f *Front) ProjectGroupTaskSave() {
 			success = util.Mgo.SaveBulk(util.TASKCOLLNAME, taskArr...)
 			if success {
 				msg = "任务分发成功"
-				UpdateSourceinfo(sourceinfo, stype, groupIdTask) //用户组分发任务成功后,给数据源打上用户组标识,同时生成任务临时表
+				UpdateSourceInfoByGroup(sourceinfo, stype, groupIdTask) //用户组分发任务成功后,给数据源打上用户组标识,同时生成任务临时表
 			} else {
 				msg = "任务分发失败"
 			}
@@ -484,6 +484,7 @@ func (f *Front) ProjectGroupTaskRepulse() {
 		"$unset": map[string]interface{}{
 			"s_userid":     "",
 			"s_usertaskid": "",
+			"s_login":      "",
 		},
 	}, false, true)
 	if success {
@@ -740,8 +741,8 @@ func DeleleDataTagInfo(sourceinfo string) {
 	lock.Unlock()
 }
 
-// UpdateSourceinfo 用户组分发任务成功后,给数据源打上用户组标识
-func UpdateSourceinfo(sourceinfo, stype string, groupIdInfo map[string]util.Task) {
+// UpdateSourceInfoByGroup 用户组分发任务成功后,给数据源打上用户组标识
+func UpdateSourceInfoByGroup(sourceinfo, stype string, groupIdInfo map[string]util.Task) {
 	defer qu.Catch()
 	for groupTaskId, tInfo := range groupIdInfo {
 		groupId := tInfo.UserId

+ 9 - 5
src/front/user.go

@@ -416,8 +416,9 @@ func (f *Front) UserTaskSave() {
 			userTaskIdStr := mgo.BsonIdToSId(userTaskId)
 			userTaskIdArr = append(userTaskIdArr, userTaskIdStr)
 			ut := Task{
-				UserId:  userid,
-				GiveNum: givenum,
+				UserId:   userid,
+				GiveNum:  givenum,
+				UserName: login,
 			}
 			userTaskIdInfo[userTaskIdStr] = ut
 			userTask := map[string]interface{}{
@@ -471,7 +472,7 @@ func (f *Front) UserTaskSave() {
 						}},
 					false, false)
 				msg = "任务分发成功"
-				UpdateSourceInfo(sourceinfo, groupTaskId, userTaskIdInfo) //用户分发任务成功后,同时更新任务数据源表
+				UpdateSourceInfoByUser(sourceinfo, groupTaskId, userTaskIdInfo) //用户分发任务成功后,同时更新任务数据源表
 			}
 		}
 	}
@@ -584,12 +585,13 @@ func (f *Front) UserTaskClose() {
 	f.ServeJson(map[string]interface{}{"success": success, "count": count, "msg": msg})
 }
 
-// UpdateSourceInfo 用户分发任务成功后更新数据源表
-func UpdateSourceInfo(sourceinfo, groupTaskId string, userTaskIdInfo map[string]Task) {
+// UpdateSourceInfoByUser 用户分发任务成功后更新数据源表
+func UpdateSourceInfoByUser(sourceinfo, groupTaskId string, userTaskIdInfo map[string]Task) {
 	defer qu.Catch()
 	for userTaskId, tInfo := range userTaskIdInfo {
 		userId := tInfo.UserId
 		num := tInfo.GiveNum
+		userName := tInfo.UserName
 		sess := Mgo.GetMgoConn()
 		defer Mgo.DestoryMongoConn(sess)
 		ch := make(chan bool, 5)
@@ -617,6 +619,7 @@ func UpdateSourceInfo(sourceinfo, groupTaskId string, userTaskIdInfo map[string]
 					"$set": map[string]interface{}{
 						"s_usertaskid": userTaskId,
 						"s_userid":     userId,
+						"s_login":      userName,
 						"b_isgiveuser": true,
 						"i_updatetime": time.Now().Unix(),
 					},
@@ -680,6 +683,7 @@ func RetrieveCloseTaskByUser(sourceInfo, username string, userTaskIdStatus map[s
 			unset := map[string]interface{}{
 				"s_usertaskid": "",
 				"s_userid":     "",
+				"s_login":      "",
 			}
 			success := Mgo.Update(sourceInfo, query, map[string]interface{}{"$set": set, "$unset": unset}, false, true)
 			qu.Debug("Update SourceInfo:", success)

+ 3 - 2
src/util/common.go

@@ -9,8 +9,9 @@ import (
 )
 
 type Task struct {
-	UserId  string
-	GiveNum int
+	UserId   string
+	UserName string
+	GiveNum  int
 }
 
 //oss