|
@@ -1 +1,98 @@
|
|
|
package cross_hedging
|
|
|
+
|
|
|
+import (
|
|
|
+ "eta/eta_api/controllers"
|
|
|
+ "eta/eta_api/models"
|
|
|
+ "eta/eta_api/models/data_manage"
|
|
|
+ "eta/eta_api/services/data"
|
|
|
+ "eta/eta_api/utils"
|
|
|
+)
|
|
|
+
|
|
|
+// ClassifyController 分类
|
|
|
+type ClassifyController struct {
|
|
|
+ controllers.BaseAuthController
|
|
|
+}
|
|
|
+
|
|
|
+// List
|
|
|
+// @Title excel表格分类列表
|
|
|
+// @Description excel表格分类列表接口
|
|
|
+// @Param Source query int true "格来源,1:excel插件的表格,2:自定义表格,3:混合表格,默认:1"
|
|
|
+// @Param IsShowMe query bool true "是否只看我的,true、false"
|
|
|
+// @Success 200 {object} response.ExcelClassifyListResp
|
|
|
+// @router /excel_classify/list [get]
|
|
|
+func (c *ClassifyController) List() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+ resp := new(data_manage.ChartClassifyListResp)
|
|
|
+
|
|
|
+ // 获取当前账号的不可见指标
|
|
|
+ noPermissionChartIdMap := make(map[int]bool)
|
|
|
+ {
|
|
|
+ obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
|
+ confList, err := obj.GetAllChartListByAdminId(c.SysUser.AdminId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range confList {
|
|
|
+ noPermissionChartIdMap[v.ChartInfoId] = true
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ isShowMe, _ := c.GetBool("IsShowMe")
|
|
|
+
|
|
|
+ source, _ := c.GetInt("Source")
|
|
|
+ if source <= 0 {
|
|
|
+ source = utils.CHART_SOURCE_CROSS_HEDGING
|
|
|
+ }
|
|
|
+
|
|
|
+ rootList, err := data_manage.GetChartClassifyByParentId(0, utils.CHART_SOURCE_CROSS_HEDGING)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ allChartInfo, err := data_manage.GetChartInfoAll([]int{source})
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ chartInfoMap := make(map[int][]*data_manage.ChartClassifyItems)
|
|
|
+ for _, v := range allChartInfo {
|
|
|
+ if !isShowMe {
|
|
|
+ chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if v.SysUserId != c.SysUser.AdminId {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
|
|
|
+ }
|
|
|
+ rootChildMap := make(map[int][]*data_manage.ChartClassifyItems)
|
|
|
+
|
|
|
+ // 移除没有图表的分类
|
|
|
+ allNodes := make([]*data_manage.ChartClassifyItems, 0)
|
|
|
+ for _, v := range rootList {
|
|
|
+ rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
|
|
|
+ if existItems, ok := chartInfoMap[v.ChartClassifyId]; ok {
|
|
|
+ v.Children = existItems
|
|
|
+ allNodes = append(allNodes, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 移除没有权限的图表
|
|
|
+ allNodes = data.HandleNoPermissionChart(allNodes, noPermissionChartIdMap)
|
|
|
+ resp.AllNodes = allNodes
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|