package services // ResearchGroup 研究方向分组表 //type ResearchGroupItem struct { // ResearchGroupId int `json:"research_group_id" description:"研究方向分组ID"` // ResearchGroupName string `json:"research_group_name" description:"研究方向分组名称"` // ParentId int `json:"parent_id" description:"父类ID"` // ChartPermissionId int `json:"chart_permission_id" description:"品种权限ID"` // Sort int `json:"sort" description:"排序"` // Members []*ResearchGroupMember `json:"members"` // Children []*ResearchGroupItem `json:"children"` //} // ResearchGroupMember 研究方向组员信息 //type ResearchGroupMember struct { // AdminId int `json:"admin_id"` // AdminName string `json:"admin_name"` //} // GetResearchGroupTree 获取研究方向分组及组员列表 //func GetResearchGroupTree(include int) (respList []*ResearchGroupItem, err error) { // respList = make([]*ResearchGroupItem, 0) // list, e := system.GetResearchGroupList() // if e != nil { // err = errors.New("获取研究方向分组失败, Err:" + e.Error()) // return // } // listLen := len(list) // if listLen == 0 { // return // } // // 分类 // firstList := make([]*ResearchGroupItem, 0) // secondList := make([]*ResearchGroupItem, 0) // for i := 0; i < listLen; i++ { // item := new(ResearchGroupItem) // item.ResearchGroupId = list[i].ResearchGroupId // item.ResearchGroupName = list[i].ResearchGroupName // item.ParentId = list[i].ParentId // item.ChartPermissionId = list[i].ChartPermissionId // item.Sort = list[i].Sort // if list[i].ParentId == 0 { // firstList = append(firstList, item) // } else { // secondList = append(secondList, item) // } // } // if len(firstList) == 0 { // return // } // // 匹配成员 // relationList, e := system.GetResearchGroupRelationList(include) // if e != nil { // err = errors.New("获取研究方向关系失败, Err:" + e.Error()) // return // } // for _, v := range secondList { // members := make([]*ResearchGroupMember, 0) // for _, r := range relationList { // if v.ResearchGroupId == r.ResearchGroupId { // members = append(members, &ResearchGroupMember{ // AdminId: r.AdminId, // AdminName: r.AdminName, // }) // } // } // v.Members = members // } // // 匹配子分类 // for _, p := range firstList { // children := make([]*ResearchGroupItem, 0) // for _, child := range secondList { // if p.ResearchGroupId == child.ParentId { // children = append(children, child) // } // } // p.Children = children // } // respList = firstList // return //} // UpdateAdminResearchGroup 更新研究员研究方向分组 //func UpdateAdminResearchGroup(adminId int, groupIds string) (err error) { // if adminId == 0 { // return // } // items := make([]*system.ResearchGroupRelation, 0) // groupIdArr := strings.Split(groupIds, ",") // if groupIds != "" { // for _, v := range groupIdArr { // groupId, e := strconv.Atoi(v) // if e != nil { // err = errors.New("分组ID有误") // return // } // items = append(items, &system.ResearchGroupRelation{ // ResearchGroupId: groupId, // AdminId: adminId, // }) // } // } // if e := system.UpdateAdminResearchGroup(adminId, items); e != nil { // err = errors.New("更新研究方向分组失败, Err:" + e.Error()) // } // return //}