|
@@ -531,7 +531,7 @@ func (f *Front) ProjectGroupTaskSave() {
|
|
success = util.Mgo.SaveBulk(util.TASKCOLLNAME, taskArr...)
|
|
success = util.Mgo.SaveBulk(util.TASKCOLLNAME, taskArr...)
|
|
if success {
|
|
if success {
|
|
msg = "任务分发成功"
|
|
msg = "任务分发成功"
|
|
- UpdateSourceInfoByGroup(stype, groupIdTask) //用户组分发任务成功后,给数据源打上用户组标识
|
|
|
|
|
|
+ UpdateSourceInfoByGroup(stype, appid, groupIdTask) //用户组分发任务成功后,给数据源打上用户组标识
|
|
} else {
|
|
} else {
|
|
msg = "任务分发失败"
|
|
msg = "任务分发失败"
|
|
}
|
|
}
|
|
@@ -734,7 +734,7 @@ func (f *Front) ProjectGroupTaskClose() {
|
|
//}
|
|
//}
|
|
}
|
|
}
|
|
if success { //所有用户信息关闭成功后,更新用户组任务相关信息
|
|
if success { //所有用户信息关闭成功后,更新用户组任务相关信息
|
|
- count = util.Mgo.Count(util.TASKCOLLNAME, map[string]interface{}{ //统计该用户组任务下未标注的数据量
|
|
|
|
|
|
+ count = util.Mgo.Count(util.DATACOLLNAME, map[string]interface{}{ //统计该用户组任务下未标注的数据量
|
|
"s_grouptaskid": groupTaskId,
|
|
"s_grouptaskid": groupTaskId,
|
|
"b_istag": false,
|
|
"b_istag": false,
|
|
})
|
|
})
|
|
@@ -870,7 +870,7 @@ func DeleleDataTagInfo(sourceinfo string) {
|
|
}
|
|
}
|
|
|
|
|
|
// UpdateSourceInfoByGroup 用户组分发任务成功后,给数据源打上用户组标识
|
|
// UpdateSourceInfoByGroup 用户组分发任务成功后,给数据源打上用户组标识
|
|
-func UpdateSourceInfoByGroup(stype string, groupIdInfo map[string]util.Task) {
|
|
|
|
|
|
+func UpdateSourceInfoByGroup(stype, appid string, groupIdInfo map[string]util.Task) {
|
|
defer qu.Catch()
|
|
defer qu.Catch()
|
|
for groupTaskId, tInfo := range groupIdInfo {
|
|
for groupTaskId, tInfo := range groupIdInfo {
|
|
groupId := tInfo.UserId
|
|
groupId := tInfo.UserId
|
|
@@ -881,6 +881,7 @@ func UpdateSourceInfoByGroup(stype string, groupIdInfo map[string]util.Task) {
|
|
wg := &sync.WaitGroup{}
|
|
wg := &sync.WaitGroup{}
|
|
lock := &sync.Mutex{}
|
|
lock := &sync.Mutex{}
|
|
query := map[string]interface{}{ //查找未分配且未标注对应stype的数据分发
|
|
query := map[string]interface{}{ //查找未分配且未标注对应stype的数据分发
|
|
|
|
+ "appid": appid,
|
|
"b_isgivegroup": false,
|
|
"b_isgivegroup": false,
|
|
"b_istag": false,
|
|
"b_istag": false,
|
|
}
|
|
}
|
|
@@ -1124,10 +1125,16 @@ func GetDataById(idInfoArr []util.Data, importType string, success *bool, msg *s
|
|
if s1 != qu.ObjToString((*m)["matchkey"]) {
|
|
if s1 != qu.ObjToString((*m)["matchkey"]) {
|
|
s1 = qu.ObjToString((*m)["matchkey"]) + "," + s1
|
|
s1 = qu.ObjToString((*m)["matchkey"]) + "," + s1
|
|
}
|
|
}
|
|
- util.Mgo.UpdateById(util.DATACOLLNAME, id, bson.M{"$set": bson.M{"matchkey": s1, "$push": bson.M{"appid": qu.ObjToString(tmp["appid"])}}})
|
|
|
|
|
|
+ util.Mgo.UpdateById(util.DATACOLLNAME, id, bson.M{"$set": bson.M{"matchkey": s1}, "$push": bson.M{"appid": qu.ObjToString(tmp["appid"])}})
|
|
|
|
+ } else {
|
|
|
|
+ util.Mgo.UpdateById(util.DATACOLLNAME, id, bson.M{"$push": bson.M{"appid": qu.ObjToString(tmp["appid"])}})
|
|
}
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
} else {
|
|
|
|
+ //markData, _ := util.MgoHM.FindById("bidding", id, nil)
|
|
|
|
+ //if len(*markData) > 0 {
|
|
|
|
+ //
|
|
|
|
+ //}
|
|
//1.查bidding
|
|
//1.查bidding
|
|
tmpBidColl := util.BidColl1 //bidding
|
|
tmpBidColl := util.BidColl1 //bidding
|
|
if id < util.BIDDINGSTARTID {
|
|
if id < util.BIDDINGSTARTID {
|
|
@@ -1158,29 +1165,6 @@ func GetDataById(idInfoArr []util.Data, importType string, success *bool, msg *s
|
|
//3.删除item
|
|
//3.删除item
|
|
//删除item
|
|
//删除item
|
|
delete((*bidData), "item")
|
|
delete((*bidData), "item")
|
|
- //4.对比marked表,对比marked表是否已标注该数据
|
|
|
|
- //markData, _ := util.Mgo.FindById(util.AllToColl, id, nil)
|
|
|
|
- //if markData != nil && len(*markData) > 0 {
|
|
|
|
- // UpdateMarkColl(bidData, markData, &tagInfoMap, &baseInfoMap) //比对更新数据
|
|
|
|
- //} else {
|
|
|
|
- // baseInfoMap["i_ckdata"] = 0 //设置ck_data默认值0
|
|
|
|
- //多包、中标候选人、标的信息是否抽取
|
|
|
|
- //if packageMap, ok := (*bidData)["package"].(map[string]interface{}); ok && len(packageMap) > 0 {
|
|
|
|
- // baseInfoMap["b_pkgisext"] = true
|
|
|
|
- //} else {
|
|
|
|
- // baseInfoMap["b_pkgisext"] = false
|
|
|
|
- //}
|
|
|
|
- //if winorderArr, ok := (*bidData)["winnerorder"].([]interface{}); ok && len(winorderArr) > 0 {
|
|
|
|
- // baseInfoMap["b_wodrisext"] = true
|
|
|
|
- //} else {
|
|
|
|
- // baseInfoMap["b_wodrisext"] = false
|
|
|
|
- //}
|
|
|
|
- //if purchArr, ok := (*bidData)["purchasinglist"].([]interface{}); ok && len(purchArr) > 0 {
|
|
|
|
- // baseInfoMap["b_pclisext"] = true
|
|
|
|
- //} else {
|
|
|
|
- // baseInfoMap["b_pclisext"] = false
|
|
|
|
- //}
|
|
|
|
- //}
|
|
|
|
//合并导入表中客户所需的字段
|
|
//合并导入表中客户所需的字段
|
|
if len(tmp) > 0 {
|
|
if len(tmp) > 0 {
|
|
for k, v := range tmp {
|
|
for k, v := range tmp {
|
|
@@ -1303,25 +1287,6 @@ func GetDataById(idInfoArr []util.Data, importType string, success *bool, msg *s
|
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
-// UpdateMarkColl 更新数据
|
|
|
|
-func UpdateMarkColl(bidData, markData, tagInfoMap, baseInfoMap *map[string]interface{}) {
|
|
|
|
- defer qu.Catch()
|
|
|
|
- ckdata := qu.IntAll((*markData)["i_ckdata"])
|
|
|
|
- v_taginfo := (*markData)["v_taginfo"].(map[string]interface{}) //标注信息
|
|
|
|
- v_baseinfo := (*markData)["v_baseinfo"].(map[string]interface{}) //基本信息
|
|
|
|
- for fk := range v_taginfo {
|
|
|
|
- if v_baseinfo[fk] != nil {
|
|
|
|
- (*bidData)[fk] = v_baseinfo[fk] //字段更新
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
- (*tagInfoMap) = v_taginfo //marked中已有的标注信息保存到新数据上
|
|
|
|
- if ckdata == 2 { //某些字段已标注
|
|
|
|
- (*baseInfoMap)["i_ckdata"] = 0 //marked表中该条数据如果为字段验证,临时表ck_data:0;若为数据验证ck_data:1
|
|
|
|
- } else if ckdata == 1 {
|
|
|
|
- (*baseInfoMap)["i_ckdata"] = 1
|
|
|
|
- }
|
|
|
|
-}
|
|
|
|
-
|
|
|
|
func (f *Front) ProjectCheckSuc() {
|
|
func (f *Front) ProjectCheckSuc() {
|
|
defer qu.Catch()
|
|
defer qu.Catch()
|
|
if f.Method() == "POST" {
|
|
if f.Method() == "POST" {
|