|
@@ -23,10 +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{}{}
|
|
|
- qu.Debug(stype, dataType)
|
|
|
+ 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" { //查询未达标
|
|
@@ -96,19 +99,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 {
|
|
@@ -119,8 +123,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": "解析数据失败"})
|
|
@@ -167,13 +170,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{})
|
|
@@ -208,9 +204,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
|
|
@@ -243,37 +244,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 {
|
|
@@ -284,7 +274,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": "解析数据失败"})
|
|
@@ -331,6 +322,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{})
|
|
@@ -365,13 +363,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
|
|
@@ -404,13 +398,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{})
|
|
@@ -454,6 +458,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 {
|
|
@@ -488,6 +493,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
|
|
@@ -546,6 +552,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
|
|
@@ -649,6 +656,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
|
|
@@ -704,6 +712,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 {
|