|
@@ -4,6 +4,7 @@ import (
|
|
|
"encoding/json"
|
|
|
"fmt"
|
|
|
"github.com/tealeg/xlsx"
|
|
|
+ "go.mongodb.org/mongo-driver/bson/primitive"
|
|
|
"io/ioutil"
|
|
|
"math"
|
|
|
"mime/multipart"
|
|
@@ -258,7 +259,7 @@ func (f *Front) ProjectTaskSave() {
|
|
|
var groupArr []map[string]interface{}
|
|
|
var taskArr []map[string]interface{}
|
|
|
var groupIdArr []string
|
|
|
- groupIdMap := map[string]int{}
|
|
|
+ groupIdTask := map[string]util.Task{}
|
|
|
success := false
|
|
|
msg := ""
|
|
|
user := f.GetSession("user").(map[string]interface{})
|
|
@@ -280,8 +281,16 @@ func (f *Front) ProjectTaskSave() {
|
|
|
groupId := qu.ObjToString(groupInfo["s_groupid"])
|
|
|
groupIdArr = append(groupIdArr, groupId)
|
|
|
givenum := qu.IntAll(groupInfo["i_givenum"])
|
|
|
- groupIdMap[groupId] = givenum
|
|
|
- task := map[string]interface{}{
|
|
|
+ //groupIdMap[groupId] = givenum
|
|
|
+ _id := primitive.NewObjectID()
|
|
|
+ sid := mongodb.BsonIdToSId(_id)
|
|
|
+ gt := util.Task{
|
|
|
+ GroupId: groupId,
|
|
|
+ GiveNum: givenum,
|
|
|
+ }
|
|
|
+ groupIdTask[sid] = gt
|
|
|
+ groupTask := map[string]interface{}{
|
|
|
+ "_id": _id, //生成任务id
|
|
|
"s_projectid": projectid, //项目标识
|
|
|
"s_projectname": projectname, //项目名称
|
|
|
"s_status": "未开始", //任务状态
|
|
@@ -297,7 +306,7 @@ func (f *Front) ProjectTaskSave() {
|
|
|
"s_sourcetaskinfo": sourcetaskinfo, //任务日志表
|
|
|
"s_stype": "group", //任务类型
|
|
|
}
|
|
|
- taskArr = append(taskArr, task)
|
|
|
+ taskArr = append(taskArr, groupTask)
|
|
|
}
|
|
|
}
|
|
|
if len(taskArr) > 0 {
|
|
@@ -315,7 +324,7 @@ func (f *Front) ProjectTaskSave() {
|
|
|
success = util.Mgo.SaveBulk(util.TASKCOLLNAME, taskArr...)
|
|
|
if success {
|
|
|
msg = "任务分发成功"
|
|
|
- UpdateSourceinfo(sourceinfo, sourcetaskinfo, stype, groupIdMap) //用户组分发任务成功后,给数据源打上用户组标识,同时生成任务临时表
|
|
|
+ UpdateSourceinfo(sourceinfo, sourcetaskinfo, stype, groupIdTask) //用户组分发任务成功后,给数据源打上用户组标识,同时生成任务临时表
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -341,6 +350,7 @@ func (f *Front) ProjectGetEntnameList() {
|
|
|
}
|
|
|
|
|
|
// ProjectTaskRepulse 用户组任务打回
|
|
|
+// TODO 关联用户组下所有用户任务的打回
|
|
|
func (f *Front) ProjectTaskRepulse() {
|
|
|
defer qu.Catch()
|
|
|
success := false
|
|
@@ -397,6 +407,7 @@ func (f *Front) ProjectTaskRepulse() {
|
|
|
}
|
|
|
|
|
|
// ProjectTaskRetrieve 用户组任务收回
|
|
|
+// TODO 关联用户组下所有用户任务的收回
|
|
|
func (f *Front) ProjectTaskRetrieve() {
|
|
|
defer qu.Catch()
|
|
|
success := false
|
|
@@ -564,9 +575,11 @@ func DeleleDataTagInfo(sourceinfo string) {
|
|
|
}
|
|
|
|
|
|
// UpdateSourceinfo 用户组分发任务成功后,给数据源打上用户组标识,同时生成任务临时表
|
|
|
-func UpdateSourceinfo(sourceinfo, sourcetaskinfo, stype string, groupIdMap map[string]int) {
|
|
|
+func UpdateSourceinfo(sourceinfo, sourcetaskinfo, stype string, groupIdInfo map[string]util.Task) {
|
|
|
defer qu.Catch()
|
|
|
- for groupid, num := range groupIdMap {
|
|
|
+ for groupTaskId, tInfo := range groupIdInfo {
|
|
|
+ groupid := tInfo.GroupId
|
|
|
+ num := tInfo.GiveNum
|
|
|
sess := util.Mgo.GetMgoConn()
|
|
|
defer util.Mgo.DestoryMongoConn(sess)
|
|
|
ch := make(chan bool, 5)
|
|
@@ -608,11 +621,12 @@ func UpdateSourceinfo(sourceinfo, sourcetaskinfo, stype string, groupIdMap map[s
|
|
|
},
|
|
|
})
|
|
|
save := map[string]interface{}{
|
|
|
- "s_infoid": id,
|
|
|
- "s_infotitle": title,
|
|
|
- "s_groupid": groupid,
|
|
|
- "i_createtime": time.Now().Unix(),
|
|
|
- "s_complete": false,
|
|
|
+ "s_infoid": id,
|
|
|
+ "s_infotitle": title,
|
|
|
+ "s_groupid": groupid,
|
|
|
+ "i_createtime": time.Now().Unix(),
|
|
|
+ "s_complete": false,
|
|
|
+ "s_grouptaskid": groupTaskId,
|
|
|
}
|
|
|
lock.Lock()
|
|
|
updateArr = append(updateArr, update)
|