1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package services
- import (
- "eta/eta_mini_crm/models"
- )
- func GetSysDepartmentPathById(sysDepartmentId int) (path string, err error) {
- sysDepartment, err := models.GetSysDepartmentById(sysDepartmentId)
- if err != nil {
- return
- }
- path = sysDepartment.SysDepartmentName
- curSysDepartmentId := sysDepartmentId
- for curLevel := sysDepartment.Level; curLevel >= 1; curLevel-- {
- nextSysDepartment, er := models.GetSysDepartmentListByParentId(curSysDepartmentId)
- if er != nil {
- return
- }
- curSysDepartmentId = nextSysDepartment.SysDepartmentId
- path = nextSysDepartment.SysDepartmentName + "/" + path
- }
- return
- }
- func GetSysDepartmentList() ([]*models.SysDepartmentList, error) {
- departmentList, err := models.GetSysDepartmentListByLevel(1)
- if err != nil {
- return nil, err
- }
- for _, dep := range departmentList {
- childDepartmentList, err := models.GetChildSysDepartmentListById(dep.SysDepartmentId)
- if err != nil {
- return nil, err
- }
- dep.Child = childDepartmentList
- for _, cdep := range childDepartmentList {
- subDepartmentList, err := models.GetChildSysDepartmentListById(cdep.SysDepartmentId)
- if err != nil {
- return nil, err
- }
- cdep.Child = subDepartmentList
- }
- }
- return departmentList, nil
- }
|