|
@@ -12,12 +12,12 @@ import (
|
|
|
|
|
|
// DataMark 数据标注
|
|
|
func (f *Front) DataMark() {
|
|
|
- qu.Debug("-----------------")
|
|
|
defer qu.Catch()
|
|
|
success := false
|
|
|
msg := ""
|
|
|
user := f.GetSession("user").(map[string]interface{})
|
|
|
username := qu.ObjToString(user["s_login"]) //当前登录用户
|
|
|
+ userid := qu.ObjToString(user["id"]) //当前登录用户标识
|
|
|
obj := []map[string]interface{}{}
|
|
|
infoId := f.GetString("s_infoid")
|
|
|
userTaskId := f.GetString("s_usertaskid")
|
|
@@ -65,6 +65,7 @@ func (f *Front) DataMark() {
|
|
|
continue
|
|
|
}
|
|
|
istag, _ := val["checkAllTag"].(bool)
|
|
|
+ qu.Debug(istag)
|
|
|
if j == 0 { //基本信息
|
|
|
MarkBase(content, tagSet, baseSet, baseUnset)
|
|
|
} else if j == 1 { //时间地点
|
|
@@ -80,7 +81,11 @@ func (f *Front) DataMark() {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ //
|
|
|
allTagFields := map[string]interface{}{} //记录此此标注所有标注信息,用于日志记录
|
|
|
+ for k, _ := range tagSet {
|
|
|
+ allTagFields[k] = true
|
|
|
+ }
|
|
|
for k, v := range baseSet {
|
|
|
allTagFields[k] = v
|
|
|
}
|
|
@@ -88,6 +93,7 @@ func (f *Front) DataMark() {
|
|
|
allTagFields[k] = nil
|
|
|
}
|
|
|
qu.Debug("allTagFields===", allTagFields)
|
|
|
+ //
|
|
|
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": "查询用户任务失败"})
|
|
@@ -99,19 +105,23 @@ func (f *Front) DataMark() {
|
|
|
baseInfo, _ := (*dataInfo)["v_baseinfo"].(map[string]interface{})
|
|
|
if tagInfo != nil && len(tagInfo) > 0 {
|
|
|
for field, tmpStatus := range tagSet { //比对本次标注信息和历史标注信息
|
|
|
+ if field == "purchasinglist_alltag" {
|
|
|
+ continue
|
|
|
+ }
|
|
|
status := qu.IntAll(tmpStatus) //此次被标注字段的状态
|
|
|
markedStatus := qu.IntAll(tagInfo[field]) //历史标注状态
|
|
|
if status == 1 && markedStatus != 0 { //此次标注结果为正确,且有历史标注记录,不做修改
|
|
|
qu.Debug("已标注字段field---", field)
|
|
|
delete(tagSet, field)
|
|
|
delete(baseSet, field)
|
|
|
- continue
|
|
|
- } else {
|
|
|
- qu.Debug("未标注字段field---", field, status)
|
|
|
+ //continue
|
|
|
}
|
|
|
+ //else {
|
|
|
+ // qu.Debug("未标注字段field---", field, status)
|
|
|
+ //}
|
|
|
}
|
|
|
}
|
|
|
- qu.Debug("2222222222222")
|
|
|
+ qu.Debug("tagSet===", tagSet)
|
|
|
if len(tagSet) > 0 {
|
|
|
//1、更新数据源信息
|
|
|
setResult := map[string]interface{}{ //更新字段集
|
|
@@ -136,15 +146,12 @@ func (f *Front) DataMark() {
|
|
|
set["$unset"] = baseUnsetResult
|
|
|
}
|
|
|
qu.Debug("set---", set)
|
|
|
- qu.Debug("3333333")
|
|
|
success = util.Mgo.UpdateById(sourceInfo, infoId, set)
|
|
|
- qu.Debug("444444")
|
|
|
//2、更新marked表
|
|
|
tmp, _ := util.Mgo.FindById(sourceInfo, infoId, map[string]interface{}{"v_baseinfo": 1, "v_taginfo": 1, "i_ckdata": 1})
|
|
|
qu.Debug("infoId:", infoId)
|
|
|
delete((*tmp), "_id")
|
|
|
(*tmp)["updatetime"] = time.Now().Unix()
|
|
|
- qu.Debug("5555555555555")
|
|
|
b := util.Mgo.Update(util.AllToColl, map[string]interface{}{"_id": mongodb.StringTOBsonId(infoId)}, map[string]interface{}{"$set": tmp}, true, false)
|
|
|
qu.Debug("Update Marked:", b)
|
|
|
}
|
|
@@ -164,7 +171,7 @@ func (f *Front) DataMark() {
|
|
|
}, false, false)
|
|
|
qu.Debug("Update UserTask:", b)
|
|
|
//4、保存标注日志
|
|
|
- b = SaveLog(infoId, userTaskId, "标注", baseInfo, allTagFields, *userTask)
|
|
|
+ b = SaveLog(infoId, userTaskId, username, userid, "标注", baseInfo, allTagFields, *userTask)
|
|
|
qu.Debug("Save Log:", b)
|
|
|
|
|
|
f.ServeJson(map[string]interface{}{"success": success, "msg": msg})
|
|
@@ -502,10 +509,13 @@ func MarkOther(content []interface{}, tagSet, baseSet, baseUnset map[string]inte
|
|
|
}
|
|
|
|
|
|
// SaveLog 标注日志保存
|
|
|
-func SaveLog(s_infoid, s_usertaskid, s_stype string, baseInfo, allTagFields, userTask map[string]interface{}) (success bool) {
|
|
|
+func SaveLog(s_infoid, s_usertaskid, username, userid, s_stype string, baseInfo, allTagFields, userTask map[string]interface{}) (success bool) {
|
|
|
defer qu.Debug()
|
|
|
v_before := map[string]interface{}{}
|
|
|
- for f, _ := range allTagFields {
|
|
|
+ for f, v := range allTagFields {
|
|
|
+ if _, ok := v.(bool); ok { //表示此次标注status=1的字段
|
|
|
+ allTagFields[f] = baseInfo[f]
|
|
|
+ }
|
|
|
v_before[f] = baseInfo[f]
|
|
|
}
|
|
|
save := map[string]interface{}{
|
|
@@ -513,8 +523,8 @@ func SaveLog(s_infoid, s_usertaskid, s_stype string, baseInfo, allTagFields, use
|
|
|
"s_taskid": s_usertaskid,
|
|
|
"s_infoid": s_infoid,
|
|
|
"s_stype": s_stype,
|
|
|
- "s_userid": qu.ObjToString(userTask["s_personid"]),
|
|
|
- "s_username": qu.ObjToString(userTask["s_personname"]),
|
|
|
+ "s_userid": userid,
|
|
|
+ "s_username": username,
|
|
|
"i_createtime": time.Now().Unix(),
|
|
|
"v_before": v_before,
|
|
|
"v_after": allTagFields,
|