|
@@ -346,6 +346,8 @@ func (f *Front) ProjectGroupTaskList() {
|
|
allNoGiveDataNum := okNotGiveDataNum + IsNotOkNotGiveDataNum //总待分发量
|
|
allNoGiveDataNum := okNotGiveDataNum + IsNotOkNotGiveDataNum //总待分发量
|
|
allIsTagDataNum := okIsTagDataNum + IsNotOkIsTagDataNum //已标注总量
|
|
allIsTagDataNum := okIsTagDataNum + IsNotOkIsTagDataNum //已标注总量
|
|
allDataNum := allGiveDataNum + allNoGiveDataNum
|
|
allDataNum := allGiveDataNum + allNoGiveDataNum
|
|
|
|
+ // 查询全部实际可分发数据量(未分发、未标注)
|
|
|
|
+ okRealGiveNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"b_isgivegroup": false, "b_istag": false})
|
|
//qu.Debug("数据总量:", allDataNum, "已分发总量:", allGiveDataNum, "待分发总量:", allNoGiveDataNum, "已标注总量:", allIsTagDataNum)
|
|
//qu.Debug("数据总量:", allDataNum, "已分发总量:", allGiveDataNum, "待分发总量:", allNoGiveDataNum, "已标注总量:", allIsTagDataNum)
|
|
//qu.Debug("达标量:", okAllDataNum, "达标已分发量:", okIsGiveDataNum, "达标待分发量:", okNotGiveDataNum, "达标已标注量:", okIsTagDataNum)
|
|
//qu.Debug("达标量:", okAllDataNum, "达标已分发量:", okIsGiveDataNum, "达标待分发量:", okNotGiveDataNum, "达标已标注量:", okIsTagDataNum)
|
|
//qu.Debug(" 未达标量:", IsNoOkAllDataNum, " 未达标已分发量:", IsNoOkIsGiveDataNum, " 未达标待分发量:", IsNotOkNotGiveDataNum, " 未达标已标注量:", IsNotOkIsTagDataNum)
|
|
//qu.Debug(" 未达标量:", IsNoOkAllDataNum, " 未达标已分发量:", IsNoOkIsGiveDataNum, " 未达标待分发量:", IsNotOkNotGiveDataNum, " 未达标已标注量:", IsNotOkIsTagDataNum)
|
|
@@ -363,6 +365,7 @@ func (f *Front) ProjectGroupTaskList() {
|
|
f.T["allIsTagDataNum"] = allIsTagDataNum
|
|
f.T["allIsTagDataNum"] = allIsTagDataNum
|
|
f.T["okIsTagDataNum"] = okIsTagDataNum
|
|
f.T["okIsTagDataNum"] = okIsTagDataNum
|
|
f.T["IsNotOkIsTagDataNum"] = IsNotOkIsTagDataNum
|
|
f.T["IsNotOkIsTagDataNum"] = IsNotOkIsTagDataNum
|
|
|
|
+ f.T["okRealGiveNum"] = okRealGiveNum
|
|
_ = f.Render("project/project_clear.html", &f.T)
|
|
_ = f.Render("project/project_clear.html", &f.T)
|
|
} else {
|
|
} else {
|
|
qu.Debug("Project Find Error")
|
|
qu.Debug("Project Find Error")
|
|
@@ -398,13 +401,21 @@ func (f *Front) ProjectGroupTaskSave() {
|
|
//if stype != "tag" { //如果分发的是达标数据或者全部数据且进行了初步质检,将没有质检记录的字段从v_taginfo标注记录中删除
|
|
//if stype != "tag" { //如果分发的是达标数据或者全部数据且进行了初步质检,将没有质检记录的字段从v_taginfo标注记录中删除
|
|
// DeleleDataTagInfo(sourceinfo)
|
|
// DeleleDataTagInfo(sourceinfo)
|
|
//}
|
|
//}
|
|
|
|
+ // 查询实际可分发数据量(未分发、未标注)
|
|
|
|
+ realNum := util.Mgo.Count(sourceinfo, map[string]interface{}{"b_isgivegroup": false, "b_istag": false})
|
|
for _, groupInfo := range groupArr {
|
|
for _, groupInfo := range groupArr {
|
|
groupId := qu.ObjToString(groupInfo["s_groupid"])
|
|
groupId := qu.ObjToString(groupInfo["s_groupid"])
|
|
groupIdArr = append(groupIdArr, groupId)
|
|
groupIdArr = append(groupIdArr, groupId)
|
|
givenum := qu.IntAll(groupInfo["i_givenum"])
|
|
givenum := qu.IntAll(groupInfo["i_givenum"])
|
|
- if givenum == 0 {
|
|
|
|
|
|
+ if givenum <= 0 {
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
+ if realNum <= 0 {
|
|
|
|
+ break
|
|
|
|
+ }
|
|
|
|
+ if realNum < givenum {
|
|
|
|
+ givenum = realNum
|
|
|
|
+ }
|
|
groupTaskId := primitive.NewObjectID()
|
|
groupTaskId := primitive.NewObjectID()
|
|
groupTaskIdStr := mongodb.BsonIdToSId(groupTaskId)
|
|
groupTaskIdStr := mongodb.BsonIdToSId(groupTaskId)
|
|
groupTaskIdArr = append(groupTaskIdArr, groupTaskIdStr)
|
|
groupTaskIdArr = append(groupTaskIdArr, groupTaskIdStr)
|
|
@@ -432,6 +443,7 @@ func (f *Front) ProjectGroupTaskSave() {
|
|
"s_departname": qu.ObjToString((*project)["s_departname"]), //部门名称
|
|
"s_departname": qu.ObjToString((*project)["s_departname"]), //部门名称
|
|
"s_rulename": qu.ObjToString((*project)["s_rulename"]), //规则名称
|
|
"s_rulename": qu.ObjToString((*project)["s_rulename"]), //规则名称
|
|
}
|
|
}
|
|
|
|
+ realNum = realNum - givenum
|
|
taskArr = append(taskArr, groupTask)
|
|
taskArr = append(taskArr, groupTask)
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -495,12 +507,14 @@ func (f *Front) ProjectGroupTaskRepulse() {
|
|
//status := f.GetString("s_status")
|
|
//status := f.GetString("s_status")
|
|
groupTaskId := f.GetString("taskid")
|
|
groupTaskId := f.GetString("taskid")
|
|
sourceinfo := f.GetString("s_sourceinfo")
|
|
sourceinfo := f.GetString("s_sourceinfo")
|
|
|
|
+ currenttime := time.Now().Unix()
|
|
//更新数据源
|
|
//更新数据源
|
|
success = util.Mgo.Update(sourceinfo, map[string]interface{}{"s_grouptaskid": groupTaskId}, map[string]interface{}{
|
|
success = util.Mgo.Update(sourceinfo, map[string]interface{}{"s_grouptaskid": groupTaskId}, map[string]interface{}{
|
|
"$set": map[string]interface{}{
|
|
"$set": map[string]interface{}{
|
|
"b_istag": false,
|
|
"b_istag": false,
|
|
|
|
+ "i_ckdata": 2,
|
|
"b_isgiveuser": false,
|
|
"b_isgiveuser": false,
|
|
- "i_updatetime": time.Now().Unix(),
|
|
|
|
|
|
+ "i_updatetime": currenttime,
|
|
},
|
|
},
|
|
"$unset": map[string]interface{}{
|
|
"$unset": map[string]interface{}{
|
|
"s_userid": "",
|
|
"s_userid": "",
|
|
@@ -509,12 +523,23 @@ func (f *Front) ProjectGroupTaskRepulse() {
|
|
},
|
|
},
|
|
}, false, true)
|
|
}, false, true)
|
|
if success {
|
|
if success {
|
|
|
|
+ util.Mgo.Update(util.TASKCOLLNAME, map[string]interface{}{
|
|
|
|
+ "s_stype": "user",
|
|
|
|
+ "s_parentid": groupTaskId,
|
|
|
|
+ }, map[string]interface{}{
|
|
|
|
+ "$set": map[string]interface{}{
|
|
|
|
+ "s_status": "已关闭",
|
|
|
|
+ "s_progress": "%0",
|
|
|
|
+ "i_updatetime": currenttime,
|
|
|
|
+ "s_updateperson": username,
|
|
|
|
+ },
|
|
|
|
+ }, false, true)
|
|
//更新用户组任务 清除最迟完成时间,更新任务状态
|
|
//更新用户组任务 清除最迟完成时间,更新任务状态
|
|
success = util.Mgo.UpdateById(util.TASKCOLLNAME, groupTaskId, map[string]interface{}{
|
|
success = util.Mgo.UpdateById(util.TASKCOLLNAME, groupTaskId, map[string]interface{}{
|
|
"$set": map[string]interface{}{
|
|
"$set": map[string]interface{}{
|
|
"s_status": "未开始",
|
|
"s_status": "未开始",
|
|
"s_updateperson": username,
|
|
"s_updateperson": username,
|
|
- "i_updatetime": time.Now().Unix(),
|
|
|
|
|
|
+ "i_updatetime": currenttime,
|
|
"s_progress": "0%",
|
|
"s_progress": "0%",
|
|
},
|
|
},
|
|
"$unset": map[string]interface{}{
|
|
"$unset": map[string]interface{}{
|
|
@@ -784,8 +809,9 @@ func UpdateSourceInfoByGroup(sourceinfo, stype string, groupIdInfo map[string]ut
|
|
ch := make(chan bool, 5)
|
|
ch := make(chan bool, 5)
|
|
wg := &sync.WaitGroup{}
|
|
wg := &sync.WaitGroup{}
|
|
lock := &sync.Mutex{}
|
|
lock := &sync.Mutex{}
|
|
- query := map[string]interface{}{ //查找未分配对应stype的数据分发
|
|
|
|
|
|
+ query := map[string]interface{}{ //查找未分配且未标注对应stype的数据分发
|
|
"b_isgivegroup": false,
|
|
"b_isgivegroup": false,
|
|
|
|
+ "b_istag": false,
|
|
}
|
|
}
|
|
if stype == "notag" { //达标数据
|
|
if stype == "notag" { //达标数据
|
|
query["b_istagging"] = false
|
|
query["b_istagging"] = false
|
|
@@ -1226,3 +1252,16 @@ func (f *Front) ProjectPassSuc() {
|
|
f.ServeJson(map[string]interface{}{"success": b, "msg": "更新数据失败"})
|
|
f.ServeJson(map[string]interface{}{"success": b, "msg": "更新数据失败"})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+func (f *Front) ProjectTagNum() {
|
|
|
|
+ defer qu.Catch()
|
|
|
|
+ if f.Method() == "POST" {
|
|
|
|
+ sourceinfo := f.GetString("s_sourceinfo")
|
|
|
|
+ count := util.Mgo.Count(sourceinfo, map[string]interface{}{"i_ckdata": 2})
|
|
|
|
+ if count > 0 {
|
|
|
|
+ f.ServeJson(map[string]interface{}{"success": true})
|
|
|
|
+ } else {
|
|
|
|
+ f.ServeJson(map[string]interface{}{"success": false, "msg": "暂时没有可质检的数据"})
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+}
|