|
@@ -3849,11 +3849,44 @@ func (this *EdbInfoController) RelationChartList() {
|
|
|
myChartMap[v.ChartInfoId] = v
|
|
|
}
|
|
|
listLen := len(list)
|
|
|
- for i := 0; i < listLen; i++ {
|
|
|
- if existItem, ok := myChartMap[list[i].ChartInfoId]; ok {
|
|
|
- list[i].IsAdd = true
|
|
|
- list[i].MyChartId = existItem.MyChartId
|
|
|
- list[i].MyChartClassifyId = existItem.MyChartClassifyId
|
|
|
+
|
|
|
+ if listLen > 0 {
|
|
|
+ // 分类id
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ // 当前列表中的分类map
|
|
|
+ classifyMap := make(map[int]*data_manage.ChartClassify)
|
|
|
+ for _, v := range list {
|
|
|
+ classifyIdList = append(classifyIdList, v.ChartClassifyId)
|
|
|
+ }
|
|
|
+ classifyList, err := data_manage.GetChartClassifyByIdList(classifyIdList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取分类列表失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range classifyList {
|
|
|
+ classifyMap[v.ChartClassifyId] = v
|
|
|
+ }
|
|
|
+
|
|
|
+ // 已授权分类id
|
|
|
+ permissionChartIdList, permissionClassifyIdList, err := data_manage_permission.GetUserChartAndClassifyPermissionList(this.SysUser.AdminId, 0, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取已授权分类id数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range list {
|
|
|
+ if existItem, ok := myChartMap[v.ChartInfoId]; ok {
|
|
|
+ v.IsAdd = true
|
|
|
+ v.MyChartId = existItem.MyChartId
|
|
|
+ v.MyChartClassifyId = existItem.MyChartClassifyId
|
|
|
+ }
|
|
|
+ // 权限
|
|
|
+ if currClassify, ok := classifyMap[v.ChartClassifyId]; ok {
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckChartPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.ChartInfoId, v.ChartClassifyId, permissionChartIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -3981,55 +4014,96 @@ func (this *EdbInfoController) RelationEdbList() {
|
|
|
}
|
|
|
|
|
|
edbList := make([]*data_manage.ChartEdbInfoMapping, 0)
|
|
|
- for _, v := range list {
|
|
|
- item := new(data_manage.ChartEdbInfoMapping)
|
|
|
- item.EdbInfoId = v.EdbInfoId
|
|
|
- item.SourceName = v.SourceName
|
|
|
- item.Source = v.Source
|
|
|
- item.EdbCode = v.EdbCode
|
|
|
- item.EdbName = v.EdbName
|
|
|
- item.EdbNameEn = v.EdbNameEn
|
|
|
- item.Frequency = v.Frequency
|
|
|
- item.FrequencyEn = data.GetFrequencyEn(v.Frequency)
|
|
|
- if v.Unit != `无` {
|
|
|
- item.Unit = v.Unit
|
|
|
- }
|
|
|
- item.UnitEn = v.UnitEn
|
|
|
- item.StartDate = v.StartDate
|
|
|
- item.EndDate = v.EndDate
|
|
|
- item.ModifyTime = v.ModifyTime
|
|
|
- item.IsAxis = 1
|
|
|
- item.LeadValue = 0
|
|
|
- item.LeadUnit = ""
|
|
|
- item.ChartEdbMappingId = 0
|
|
|
- item.ChartInfoId = 0
|
|
|
- item.IsOrder = false
|
|
|
- item.EdbInfoType = v.EdbInfoType
|
|
|
- item.EdbInfoCategoryType = v.EdbInfoType
|
|
|
- item.ChartStyle = ""
|
|
|
- item.ChartColor = ""
|
|
|
- item.ChartWidth = 0
|
|
|
- item.MaxData = v.MaxValue
|
|
|
- item.MinData = v.MinValue
|
|
|
- item.LatestValue = v.LatestValue
|
|
|
- item.LatestDate = v.LatestDate
|
|
|
- item.UniqueCode = v.UniqueCode
|
|
|
- item.ClassifyId = v.ClassifyId
|
|
|
-
|
|
|
- dataList := make([]*data_manage.EdbDataList, 0)
|
|
|
- if v.EdbInfoType == 0 {
|
|
|
- dataList, err = data_manage.GetEdbDataList(v.Source, v.SubSource, v.EdbInfoId, "", "")
|
|
|
- } else {
|
|
|
- _, dataList, _, _, err, _ = data.GetPredictDataListByPredictEdbInfoId(v.EdbInfoId, "", "", false)
|
|
|
+
|
|
|
+ if len(edbList) > 0 {
|
|
|
+
|
|
|
+ // 当前的分类
|
|
|
+ classifyMap := make(map[int]*data_manage.EdbClassify)
|
|
|
+ {
|
|
|
+ classifyIdList := make([]int, 0)
|
|
|
+ for _, v := range edbList {
|
|
|
+ classifyIdList = append(classifyIdList, v.ClassifyId)
|
|
|
+ }
|
|
|
+ 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(this.SysUser.AdminId, 0, 0)
|
|
|
if err != nil {
|
|
|
br.Msg = "获取失败"
|
|
|
- br.Msg = "获取失败,Err:" + err.Error()
|
|
|
+ br.ErrMsg = "获取所有有权限的指标和分类失败,Err:" + err.Error()
|
|
|
return
|
|
|
}
|
|
|
|
|
|
- item.DataList = dataList
|
|
|
- edbList = append(edbList, item)
|
|
|
+ for _, v := range list {
|
|
|
+ item := new(data_manage.ChartEdbInfoMapping)
|
|
|
+ item.EdbInfoId = v.EdbInfoId
|
|
|
+ item.SourceName = v.SourceName
|
|
|
+ item.Source = v.Source
|
|
|
+ item.EdbCode = v.EdbCode
|
|
|
+ item.EdbName = v.EdbName
|
|
|
+ item.EdbNameEn = v.EdbNameEn
|
|
|
+ item.Frequency = v.Frequency
|
|
|
+ item.FrequencyEn = data.GetFrequencyEn(v.Frequency)
|
|
|
+ if v.Unit != `无` {
|
|
|
+ item.Unit = v.Unit
|
|
|
+ }
|
|
|
+ item.UnitEn = v.UnitEn
|
|
|
+ item.StartDate = v.StartDate
|
|
|
+ item.EndDate = v.EndDate
|
|
|
+ item.ModifyTime = v.ModifyTime
|
|
|
+ item.IsAxis = 1
|
|
|
+ item.LeadValue = 0
|
|
|
+ item.LeadUnit = ""
|
|
|
+ item.ChartEdbMappingId = 0
|
|
|
+ item.ChartInfoId = 0
|
|
|
+ item.IsOrder = false
|
|
|
+ item.EdbInfoType = v.EdbInfoType
|
|
|
+ item.EdbInfoCategoryType = v.EdbInfoType
|
|
|
+ item.ChartStyle = ""
|
|
|
+ item.ChartColor = ""
|
|
|
+ item.ChartWidth = 0
|
|
|
+ item.MaxData = v.MaxValue
|
|
|
+ item.MinData = v.MinValue
|
|
|
+ item.LatestValue = v.LatestValue
|
|
|
+ item.LatestDate = v.LatestDate
|
|
|
+ item.UniqueCode = v.UniqueCode
|
|
|
+ item.ClassifyId = v.ClassifyId
|
|
|
+
|
|
|
+ dataList := make([]*data_manage.EdbDataList, 0)
|
|
|
+ // 指标权限
|
|
|
+ if currClassify, ok := classifyMap[v.ClassifyId]; ok {
|
|
|
+ v.HaveOperaAuth = data_manage_permission.CheckEdbPermissionByPermissionIdList(v.IsJoinPermission, currClassify.IsJoinPermission, v.EdbInfoId, v.ClassifyId, permissionEdbIdList, permissionClassifyIdList)
|
|
|
+ }
|
|
|
+
|
|
|
+ // 有权限则获取数据
|
|
|
+ if v.HaveOperaAuth {
|
|
|
+ if v.EdbInfoType == 0 {
|
|
|
+ dataList, err = data_manage.GetEdbDataList(v.Source, v.SubSource, v.EdbInfoId, "", "")
|
|
|
+ } else {
|
|
|
+ _, dataList, _, _, err, _ = data.GetPredictDataListByPredictEdbInfoId(v.EdbInfoId, "", "", false)
|
|
|
+ }
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.Msg = "获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ item.DataList = dataList
|
|
|
+ edbList = append(edbList, item)
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
page = paging.GetPaging(currentIndex, pageSize, dataCount)
|