|
@@ -188,36 +188,116 @@ func (this *SysDepartmentController) ListDepartment() {
|
|
|
br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
return
|
|
|
}
|
|
|
- list, err := system.GetDepartmentList()
|
|
|
- if err != nil {
|
|
|
+ //list, err := system.GetDepartmentList()
|
|
|
+ //if err != nil {
|
|
|
+ // br.Msg = "获取失败"
|
|
|
+ // br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ //}
|
|
|
+ //lenList := len(list)
|
|
|
+ //for i := 0; i < lenList; i++ {
|
|
|
+ // departmentId := list[i].DepartmentId
|
|
|
+ // groupList, err := system.GetSysGroupByDepartmentId(departmentId)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "获取数据失败"
|
|
|
+ // br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // list[i].Child = groupList
|
|
|
+ // list[i].IsDepartment = true
|
|
|
+ // for i2, sysGroup := range groupList {
|
|
|
+ // teamList, err := system.GetSysTeamByDepartmentId(sysGroup.GroupId)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "获取数据失败"
|
|
|
+ // br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // groupList[i2].Child = teamList
|
|
|
+ // groupList[i2].IsGroup = true
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
+ // 获取部门
|
|
|
+ departments, e := system.GetDepartmentList()
|
|
|
+ if e != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
- br.ErrMsg = "获取失败,Err:" + err.Error()
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取部门失败, %v", e)
|
|
|
return
|
|
|
}
|
|
|
- lenList := len(list)
|
|
|
- for i := 0; i < lenList; i++ {
|
|
|
- departmentId := list[i].DepartmentId
|
|
|
- groupList, err := system.GetSysGroupByDepartmentId(departmentId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取数据失败"
|
|
|
- br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+ // 获取分组和小组
|
|
|
+ groups, e := system.GetSysGroupList()
|
|
|
+ if e != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprintf("获取分组失败, %v", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ departmentGroup := make(map[int][]*system.SysGroupList)
|
|
|
+ groupTeam := make(map[int][]*system.SysTeamList)
|
|
|
+ for _, v := range groups {
|
|
|
+ if departmentGroup[v.DepartmentId] == nil {
|
|
|
+ departmentGroup[v.DepartmentId] = make([]*system.SysGroupList, 0)
|
|
|
+ }
|
|
|
+ if v.ParentId == 0 {
|
|
|
+ departmentGroup[v.DepartmentId] = append(departmentGroup[v.DepartmentId], v)
|
|
|
+ }
|
|
|
+ if v.ParentId > 0 {
|
|
|
+ if groupTeam[v.ParentId] == nil {
|
|
|
+ groupTeam[v.ParentId] = make([]*system.SysTeamList, 0)
|
|
|
+ }
|
|
|
+ groupTeam[v.ParentId] = append(groupTeam[v.ParentId], &system.SysTeamList{
|
|
|
+ GroupId: v.GroupId,
|
|
|
+ ParentId: v.ParentId,
|
|
|
+ GroupName: v.GroupName,
|
|
|
+ CreateTime: v.CreateTime,
|
|
|
+ })
|
|
|
}
|
|
|
- list[i].Child = groupList
|
|
|
- list[i].IsDepartment = true
|
|
|
- for i2, sysGroup := range groupList {
|
|
|
- teamList, err := system.GetSysTeamByDepartmentId(sysGroup.GroupId)
|
|
|
- if err != nil {
|
|
|
- br.Msg = "获取数据失败"
|
|
|
- br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
- return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 数据重组
|
|
|
+ for _, groups := range departmentGroup {
|
|
|
+ for _, g := range groups {
|
|
|
+ g.IsGroup = true
|
|
|
+ if groupTeam[g.GroupId] != nil {
|
|
|
+ g.Child = groupTeam[g.GroupId]
|
|
|
+ } else {
|
|
|
+ g.Child = make([]*system.SysTeamList, 0)
|
|
|
}
|
|
|
- groupList[i2].Child = teamList
|
|
|
- groupList[i2].IsGroup = true
|
|
|
}
|
|
|
}
|
|
|
+ for _, v := range departments {
|
|
|
+ v.IsDepartment = true
|
|
|
+ if departmentGroup[v.DepartmentId] != nil {
|
|
|
+ v.Child = departmentGroup[v.DepartmentId]
|
|
|
+ } else {
|
|
|
+ v.Child = make([]*system.SysGroupList, 0)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ //lenList := len(list)
|
|
|
+ //for i := 0; i < lenList; i++ {
|
|
|
+ // departmentId := list[i].DepartmentId
|
|
|
+ // groupList, err := system.GetSysGroupByDepartmentId(departmentId)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "获取数据失败"
|
|
|
+ // br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // list[i].Child = groupList
|
|
|
+ // list[i].IsDepartment = true
|
|
|
+ // for i2, sysGroup := range groupList {
|
|
|
+ // teamList, err := system.GetSysTeamByDepartmentId(sysGroup.GroupId)
|
|
|
+ // if err != nil {
|
|
|
+ // br.Msg = "获取数据失败"
|
|
|
+ // br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ // return
|
|
|
+ // }
|
|
|
+ // groupList[i2].Child = teamList
|
|
|
+ // groupList[i2].IsGroup = true
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+
|
|
|
resp := new(system.SysDepartmentListResp)
|
|
|
- resp.List = list
|
|
|
+ resp.List = departments
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "获取成功"
|