瀏覽代碼

组织架构

kobe6258 6 月之前
父節點
當前提交
c7ec62b084
共有 4 個文件被更改,包括 12 次插入38 次删除
  1. 1 1
      controllers/sys_department.go
  2. 0 35
      models/sys_department.go
  3. 11 2
      services/sys_department.go
  4. 二進制
      static/ht/audio20240810/Xixu4FVvaqhNFLB5MfUohwN60hlN.mp3

+ 1 - 1
controllers/sys_department.go

@@ -31,7 +31,7 @@ func (this *SysDepartmentController) List() {
 		br.ErrMsg = "获取部门列表失败,Err" + err.Error()
 		return
 	}
-	list := services.GetSysDepartmentTree(departmentList, 0)
+	list := services.GetSysDepartmentTree(departmentList, 0, 1)
 
 	resp := new(response.SysDepartmentListResp)
 	resp.List = list

+ 0 - 35
models/sys_department.go

@@ -47,41 +47,6 @@ type SysDepartmentList struct {
 	ParentId          int                  `description:"父目录id"`
 }
 
-func DeleteSysDepartmentById(sysDepartmentIds []string, level int) (err error) {
-	o := orm.NewOrm()
-	err = o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {
-		sql := `DELETE FROM sys_department WHERE sys_department_id IN (?) `
-		_, e := txOrm.QueryTable(&SysDepartment{}).
-			Filter("sys_department_id__in", sysDepartmentIds).
-			Delete()
-		if e != nil {
-			return e
-		}
-		if level == 1 {
-			sql = `DELETE FROM sys_user_department_mapping WHERE sys_department_id1=?`
-			_, e = txOrm.Raw(sql, sysDepartmentIds[0]).Exec()
-			if e != nil {
-				return e
-			}
-		} else {
-			sql = `UPDATE sys_user_department_mapping SET `
-			for i := level; i <= utils.MaxDepartmentLevel; i++ {
-				sql += fmt.Sprintf("sys_department_id%d=0 ", i)
-				if i != utils.MaxDepartmentLevel {
-					sql += ","
-				}
-			}
-			sql += fmt.Sprintf("WHERE sys_department_id%d=?", level)
-			_, e = txOrm.Raw(sql, sysDepartmentIds[0]).Exec()
-			if e != nil {
-				return e
-			}
-		}
-		return nil
-	})
-	return
-}
-
 func DeleteSysDepartmentByIdV2(sysDepartmentIds []string, level int) (err error) {
 	o := orm.NewOrm()
 	err = o.DoTx(func(ctx context.Context, txOrm orm.TxOrmer) error {

+ 11 - 2
services/sys_department.go

@@ -7,9 +7,18 @@ import (
 )
 
 // GetSysDepartmentTree 递归获取部门目录树
-func GetSysDepartmentTree(list []*models.SysDepartmentList, parentId int) []*models.SysDepartmentList {
+func GetSysDepartmentTree(list []*models.SysDepartmentList, parentId int, deepth int) []*models.SysDepartmentList {
 	res := make([]*models.SysDepartmentList, 0)
 	for _, v := range list {
+		if deepth == 1 && v.Type == models.Department {
+			continue
+		}
+		if deepth == 2 && (v.Level > 2 || v.Type == models.SubCompany) {
+			continue
+		}
+		if deepth > 2 && (v.Level == 2 || v.Type == models.SubCompany) {
+			continue
+		}
 		if v.ParentId == parentId {
 			t := new(models.SysDepartmentList)
 			t.SysDepartmentId = v.SysDepartmentId
@@ -18,7 +27,7 @@ func GetSysDepartmentTree(list []*models.SysDepartmentList, parentId int) []*mod
 			t.Type = v.Type
 			t.Level = v.Level
 			t.ParentId = v.ParentId
-			t.Child = GetSysDepartmentTree(list, v.OutId)
+			t.Child = GetSysDepartmentTree(list, v.OutId, deepth+1)
 			res = append(res, t)
 		}
 	}

二進制
static/ht/audio20240810/Xixu4FVvaqhNFLB5MfUohwN60hlN.mp3