|
@@ -10,6 +10,7 @@ import (
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/services"
|
|
|
"eta/eta_api/services/data"
|
|
|
+ "eta/eta_api/services/data/data_manage_permission"
|
|
|
future_goodServ "eta/eta_api/services/data/future_good"
|
|
|
etaTrialService "eta/eta_api/services/eta_trial"
|
|
|
"eta/eta_api/utils"
|
|
@@ -1495,6 +1496,44 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
resp = new(data_manage.ChartInfoDetailFromUniqueCodeResp)
|
|
|
|
|
|
adminId := sysUser.AdminId
|
|
|
+ defer func() {
|
|
|
+ if isOk {
|
|
|
+ resp.ChartInfo.HaveOperaAuth = true
|
|
|
+
|
|
|
+ // 指标权限
|
|
|
+ {
|
|
|
+ classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
+ // 分类
|
|
|
+ {
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ for _, v := range resp.EdbInfoList {
|
|
|
+ classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ classifyList, tmpErr := data_manage.GetEdbClassifyByIdList(classifyIdList)
|
|
|
+ if tmpErr != nil {
|
|
|
+ errMsg = "获取分类列表失败,Err:" + tmpErr.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyMap[v.ClassifyId] = v
|
|
|
+ }
|
|
|
+ }
|
|
|
+ // 获取所有有权限的指标和分类
|
|
|
+ permissionEdbIdList, permissionClassifyIdList, err := data_manage_permission.GetUserEdbAndClassifyPermissionList(sysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ errMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, item := range resp.EdbInfoList {
|
|
|
+ // 数据权限
|
|
|
+ if currClassify, ok := classifyMap[item.ClassifyId]; ok {
|
|
|
+ item.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(item.IsJoinPermission, currClassify.IsJoinPermission, item.EdbInfoId, item.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }()
|
|
|
|
|
|
//判断是否存在缓存,如果存在缓存,那么直接从缓存中获取
|
|
|
key := data.GetChartInfoDataKey(chartInfo.ChartInfoId)
|
|
@@ -1659,6 +1698,7 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
|
|
|
chartInfo.ChartSourceEn = strings.Join(sourceNameEnList, ",")
|
|
|
|
|
|
resp.ChartInfo = chartInfo
|
|
|
+
|
|
|
resp.EdbInfoList = edbList
|
|
|
resp.XEdbIdValue = xEdbIdValue
|
|
|
resp.YDataList = yDataList
|