Explorar o código

fix:研究员角色查看数据

Roc hai 7 meses
pai
achega
37ce02417a
Modificáronse 2 ficheiros con 44 adicións e 49 borrados
  1. 14 49
      controllers/data_manage/manual_edb.go
  2. 30 0
      services/data/manual.go

+ 14 - 49
controllers/data_manage/manual_edb.go

@@ -236,19 +236,14 @@ func (c *ManualEdbController) EdbSearch() {
 	userId := sysUser.AdminId
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(userId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(userId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -337,19 +332,14 @@ func (c *ManualEdbController) EdbList() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(userId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -368,18 +358,14 @@ func (c *ManualEdbController) EdbList() {
 
 	// 所属分类
 	if classifyId > 0 {
-		childClassifyList, err := models.GetEdbdataClassifyByParentId(classifyId)
+		classifyIdList, err := data.GetUserManualClassifyIdList(userId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-		num := len(childClassifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range childClassifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		} else {
@@ -699,19 +685,14 @@ func (c *ManualEdbController) BatchEdbList() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -809,19 +790,14 @@ func (c *ManualEdbController) BatchAddEdbCheck() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -1161,19 +1137,14 @@ func (c *ManualEdbController) BatchDelEdbCheck() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
@@ -1291,23 +1262,17 @@ func (c *ManualEdbController) BatchDel() {
 
 	//超管账号可以查看分类下的所有频度数据
 	if sysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN {
-		classifyList, err := models.GetEdbdataClassify(int64(sysUser.AdminId))
+		classifyIdList, err := data.GetUserManualClassifyIdList(sysUser.AdminId)
 		if err != nil {
 			br.Msg = "获取分类数据失败"
 			br.Msg = "获取拥有的分类数据失败,Err:" + err.Error()
 			return
 		}
-
-		num := len(classifyList)
+		num := len(classifyIdList)
 		if num > 0 {
-			classifyIdList := make([]int, 0)
-			for _, v := range classifyList {
-				classifyIdList = append(classifyIdList, v.ClassifyId)
-			}
 			condition += ` AND a.classify_id in (` + utils.GetOrmInReplace(num) + `) `
 			pars = append(pars, classifyIdList)
 		}
-
 	}
 
 	if req.ListAll {

+ 30 - 0
services/data/manual.go

@@ -1053,3 +1053,33 @@ func ModifyManualEdbMaxMinDate(tradeCode string) {
 
 	return
 }
+
+// GetUserManualClassifyIdList
+// @Description: 获取用户手动录入的分类id列表
+// @author: Roc
+// @datetime 2024-08-02 15:09:11
+// @param userId int
+// @return classifyIdList []int
+// @return err error
+func GetUserManualClassifyIdList(userId int) (classifyIdList []int, err error) {
+	classifyIdList = make([]int, 0)
+
+	// 获取有用权限的分类
+	classifyList, err := models.GetEdbdataClassify(int64(userId))
+	if err != nil {
+		return
+	}
+
+	if len(classifyList) > 0 {
+		for _, v := range classifyList {
+			classifyIdList = append(classifyIdList, v.ClassifyId)
+			if v.Child != nil && len(v.Child) > 0 {
+				for _, v2 := range v.Child {
+					classifyIdList = append(classifyIdList, v2.ClassifyId)
+				}
+			}
+		}
+	}
+
+	return
+}