|
@@ -6,6 +6,7 @@ import (
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
"eta/eta_api/models/data_manage/excel/request"
|
|
|
"eta/eta_api/services/data"
|
|
|
+ "eta/eta_api/services/data/data_manage_permission"
|
|
|
excel2 "eta/eta_api/services/data/excel"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
@@ -424,20 +425,61 @@ func (c *ExcelInfoController) GetBaseEdbInfo() {
|
|
|
br.ErrMsg = "获取指标信息失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
+
|
|
|
list := make([]*data_manage.BaseEdbNameItem, 0)
|
|
|
- for _, v := range edbInfoList {
|
|
|
- tmp := new(data_manage.BaseEdbNameItem)
|
|
|
-
|
|
|
- tmp.EdbInfoId = v.EdbInfoId
|
|
|
- tmp.EdbInfoType = v.EdbInfoType
|
|
|
- tmp.EdbCode = v.EdbCode
|
|
|
- tmp.EdbName = v.EdbName
|
|
|
- tmp.Source = v.Source
|
|
|
- tmp.SourceName = v.SourceName
|
|
|
- tmp.Frequency = v.Frequency
|
|
|
- tmp.Unit = v.Unit
|
|
|
- list = append(list, tmp)
|
|
|
+
|
|
|
+ if len(edbInfoList) > 0 {
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ for _, v := range edbInfoList {
|
|
|
+ classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ // 指标权限
|
|
|
+ {
|
|
|
+ // 当前的分类
|
|
|
+ classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
+ classifyList, err := data_manage.GetEdbClassifyByIdList(classifyIdList)
|
|
|
+ if err != nil {
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类列表失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyMap[v.ClassifyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取所有有权限的指标和分类
|
|
|
+ permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(c.SysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range edbInfoList {
|
|
|
+ tmp := new(data_manage.BaseEdbNameItem)
|
|
|
+
|
|
|
+ // 指标权限
|
|
|
+ if currClassify, ok := classifyMap[v.ClassifyId]; ok {
|
|
|
+ tmp.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.EdbInfoId, v.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
+
|
|
|
+ tmp.EdbInfoId = v.EdbInfoId
|
|
|
+ tmp.EdbInfoType = v.EdbInfoType
|
|
|
+ tmp.EdbCode = v.EdbCode
|
|
|
+ tmp.EdbName = v.EdbName
|
|
|
+ tmp.Source = v.Source
|
|
|
+ tmp.SourceName = v.SourceName
|
|
|
+ tmp.Frequency = v.Frequency
|
|
|
+ tmp.Unit = v.Unit
|
|
|
+ list = append(list, tmp)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
}
|
|
|
+
|
|
|
resp := data_manage.BaseEdbInfoResp{
|
|
|
List: list,
|
|
|
}
|