|
@@ -199,8 +199,14 @@ func (f *Front) ProjectComplete() {
|
|
|
success := false
|
|
|
msg := ""
|
|
|
projectId := f.GetString("s_projectid")
|
|
|
- //sourceInfo := f.GetString("s_sourceinfo")
|
|
|
- status := f.GetString("s_status")
|
|
|
+ sourceInfo := f.GetString("s_sourceinfo")
|
|
|
+ //status := f.GetString("s_status")
|
|
|
+ info, _ := util.Mgo.FindById(util.PROJECTCOLLNAME, projectId, `{"s_status": 1}`)
|
|
|
+ if len(*info) <= 0 {
|
|
|
+ f.ServeJson(map[string]interface{}{"success": false, "msg": "查询项目失败"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ status := (*info)["s_status"]
|
|
|
if status == "进行中" {
|
|
|
//查询该项目下未完成的用户组和用户任务
|
|
|
query := map[string]interface{}{
|
|
@@ -210,10 +216,9 @@ func (f *Front) ProjectComplete() {
|
|
|
},
|
|
|
}
|
|
|
taskCount := util.Mgo.Count(util.TASKCOLLNAME, query)
|
|
|
- //dataCount := util.Mgo.Count(sourceInfo, map[string]interface{}{"b_istag": false}) //未标注数据个数
|
|
|
- //qu.Debug("No Tag Count:", dataCount)
|
|
|
- //if dataCount == 0 && taskCount == 0 { //全部完成
|
|
|
- if taskCount == 0 { //全部完成
|
|
|
+ dataCount := util.Mgo.Count(sourceInfo, map[string]interface{}{"b_istag": false}) //未标注数据个数
|
|
|
+ qu.Debug("No Tag Count:", dataCount)
|
|
|
+ if dataCount == 0 && taskCount == 0 { //全部完成
|
|
|
success = util.Mgo.UpdateById(util.PROJECTCOLLNAME, projectId, map[string]interface{}{
|
|
|
"$set": map[string]interface{}{
|
|
|
"s_status": "已完成",
|
|
@@ -225,13 +230,12 @@ func (f *Front) ProjectComplete() {
|
|
|
if !success {
|
|
|
msg = "更新项目失败"
|
|
|
}
|
|
|
- } else {
|
|
|
- if taskCount != 0 {
|
|
|
- msg += "任务未全部完成;"
|
|
|
- }
|
|
|
- //if dataCount != 0 {
|
|
|
- // msg += "数据未全部标注;"
|
|
|
- //}
|
|
|
+ }
|
|
|
+ if taskCount != 0 {
|
|
|
+ msg += "任务未全部完成,"
|
|
|
+ }
|
|
|
+ if dataCount != 0 {
|
|
|
+ msg += "数据未全部标注"
|
|
|
}
|
|
|
} else {
|
|
|
msg = "项目未开始"
|
|
@@ -398,6 +402,9 @@ func (f *Front) ProjectGroupTaskSave() {
|
|
|
groupId := qu.ObjToString(groupInfo["s_groupid"])
|
|
|
groupIdArr = append(groupIdArr, groupId)
|
|
|
givenum := qu.IntAll(groupInfo["i_givenum"])
|
|
|
+ if givenum == 0 {
|
|
|
+ continue
|
|
|
+ }
|
|
|
groupTaskId := primitive.NewObjectID()
|
|
|
groupTaskIdStr := mongodb.BsonIdToSId(groupTaskId)
|
|
|
groupTaskIdArr = append(groupTaskIdArr, groupTaskIdStr)
|
|
@@ -531,15 +538,20 @@ func (f *Front) ProjectGroupTaskRetrieve() {
|
|
|
username := qu.ObjToString(user["s_login"])
|
|
|
groupTaskId := f.GetString("taskid")
|
|
|
sourceInfo := f.GetString("s_sourceinfo")
|
|
|
- status := f.GetString("s_status") //未开始、进行中
|
|
|
+ //status := f.GetString("s_status") //未开始、进行中
|
|
|
//giveNum, _ := f.GetInteger("i_givenum") //收回时要更新的分发数据量
|
|
|
msg := ""
|
|
|
success := false
|
|
|
count := 0
|
|
|
+ groupTask, _ := util.Mgo.FindById(util.TASKCOLLNAME, groupTaskId, map[string]interface{}{"v_sonids": 1, "s_status": 1})
|
|
|
+ if len(*groupTask) <= 0 {
|
|
|
+ f.ServeJson(map[string]interface{}{"success": false, "msg": "查询任务失败"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ status := qu.ObjToString((*groupTask)["s_status"])
|
|
|
if status == "未开始" { //未开始的用户组任务,暂未给用户分发任务
|
|
|
success = true
|
|
|
} else { //进行中的用户组任务需更新其下用户信息
|
|
|
- groupTask, _ := util.Mgo.FindById(util.TASKCOLLNAME, groupTaskId, map[string]interface{}{"v_sonids": 1})
|
|
|
if groupTask != nil && len(*groupTask) > 0 {
|
|
|
if sonIds, ok := (*groupTask)["v_sonids"].([]interface{}); ok && len(sonIds) > 0 { //更新所有用户任务信息
|
|
|
userTaskIdStatus := map[string]string{} //封装要回收的用户任务信息
|
|
@@ -586,10 +598,16 @@ func (f *Front) ProjectGroupTaskClose() {
|
|
|
username := qu.ObjToString(user["s_login"])
|
|
|
groupTaskId := f.GetString("taskid")
|
|
|
sourceInfo := f.GetString("s_sourceinfo")
|
|
|
- status := f.GetString("s_status") //未开始、进行中
|
|
|
+ //status := f.GetString("s_status") //未开始、进行中
|
|
|
msg := ""
|
|
|
success := false
|
|
|
count := 0
|
|
|
+ groupTask, _ := util.Mgo.FindById(util.TASKCOLLNAME, groupTaskId, map[string]interface{}{"s_status": 1})
|
|
|
+ if len(*groupTask) <= 0 {
|
|
|
+ f.ServeJson(map[string]interface{}{"success": false, "msg": "查询任务失败"})
|
|
|
+ return
|
|
|
+ }
|
|
|
+ status := qu.ObjToString((*groupTask)["s_status"])
|
|
|
if status == "未开始" { //未开始的用户组任务,暂未给用户分发任务;已完成只更新用户组任务
|
|
|
success = true
|
|
|
} else { //进行中的用户组任务需更新其下用户信息
|
|
@@ -1131,6 +1149,7 @@ func GetDataById(idInfoArr []util.Data, importType, s_sourceinfo string, success
|
|
|
baseInfoMap["b_istag"] = false //是否已标注
|
|
|
//baseInfoMap["b_cleartag"] = false //是否清理标注信息
|
|
|
baseInfoMap["b_isgiveuser"] = false //是否分配给用户
|
|
|
+ baseInfoMap["b_check"] = false // 质检标记
|
|
|
if util.Mgo.SaveByOriID(s_sourceinfo, baseInfoMap) {
|
|
|
atomic.AddInt64(successNum, 1) //保存成功计数
|
|
|
} else {
|
|
@@ -1183,3 +1202,27 @@ func UpdateMarkColl(bidData, markData, tagInfoMap, baseInfoMap *map[string]inter
|
|
|
(*baseInfoMap)["i_ckdata"] = 1
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+func (f *Front) ProjectCheckSuc() {
|
|
|
+ defer qu.Catch()
|
|
|
+ if f.Method() == "POST" {
|
|
|
+ sourceinfo := f.GetString("s_sourceinfo")
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "b_istagging": false,
|
|
|
+ }
|
|
|
+ b := util.Mgo.Update(sourceinfo, query, map[string]interface{}{"$set": map[string]interface{}{"b_istag": true}}, false, true)
|
|
|
+ f.ServeJson(map[string]interface{}{"success": b, "msg": "更新数据失败"})
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+func (f *Front) ProjectPassSuc() {
|
|
|
+ defer qu.Catch()
|
|
|
+ if f.Method() == "POST" {
|
|
|
+ sourceinfo := f.GetString("s_sourceinfo")
|
|
|
+ query := map[string]interface{}{
|
|
|
+ "b_istag": false,
|
|
|
+ }
|
|
|
+ b := util.Mgo.Update(sourceinfo, query, map[string]interface{}{"$set": map[string]interface{}{"b_istag": true, "i_ckdata": 2}}, false, true)
|
|
|
+ f.ServeJson(map[string]interface{}{"success": b, "msg": "更新数据失败"})
|
|
|
+ }
|
|
|
+}
|