|
@@ -8,6 +8,7 @@ import (
|
|
|
"eta/eta_api/models/system"
|
|
|
"eta/eta_api/services/data"
|
|
|
"eta/eta_api/utils"
|
|
|
+ "sort"
|
|
|
)
|
|
|
|
|
|
// EdbClassifyController 数据管理-分类模块
|
|
@@ -15,47 +16,6 @@ type EdbClassifyController struct {
|
|
|
controllers.BaseAuthController
|
|
|
}
|
|
|
|
|
|
-//
|
|
|
-//// @Title 分类列表
|
|
|
-//// @Description 分类列表接口
|
|
|
-//// @Success 200 {object} data_manage.EdbClassifyListResp
|
|
|
-//// @router /classify/list [get]
|
|
|
-//func (this *EdbClassifyController) List() {
|
|
|
-// br := new(models.BaseResponse).Init()
|
|
|
-// defer func() {
|
|
|
-// this.Data["json"] = br
|
|
|
-// this.ServeJSON()
|
|
|
-// }()
|
|
|
-// rootList, err := data_manage.GetEdbClassifyByParentId(0)
|
|
|
-// if err != nil {
|
|
|
-// br.Msg = "获取失败"
|
|
|
-// br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-//
|
|
|
-// classifyAll, err := data_manage.GetEdbClassifyAll()
|
|
|
-// if err != nil {
|
|
|
-// br.Msg = "获取失败"
|
|
|
-// br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-//
|
|
|
-// fmt.Println("start:", time.Now())
|
|
|
-// nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
-// for k := range rootList {
|
|
|
-// rootNode := rootList[k]
|
|
|
-// data.EdbClassifyListMakeTree(classifyAll, rootNode)
|
|
|
-// nodeAll = append(nodeAll, rootNode)
|
|
|
-// }
|
|
|
-// fmt.Println("end:", time.Now())
|
|
|
-// resp := new(data_manage.EdbClassifyListResp)
|
|
|
-// resp.AllNodes = nodeAll
|
|
|
-// br.Ret = 200
|
|
|
-// br.Success = true
|
|
|
-// br.Msg = "获取成功"
|
|
|
-// br.Data = resp
|
|
|
-//}
|
|
|
-
|
|
|
// ListV2
|
|
|
// @Title 分类列表
|
|
|
// @Description 分类列表接口
|
|
@@ -897,6 +857,108 @@ func (this *EdbClassifyController) ItemsV3() {
|
|
|
br.Data = resp
|
|
|
}
|
|
|
|
|
|
+// SimpleList
|
|
|
+// @Title 单层分类列表
|
|
|
+// @Description 单层分类列表
|
|
|
+// @Success 200 {object} data_manage.EdbClassifyListResp
|
|
|
+// @router /classify/simple [get]
|
|
|
+func (this *EdbClassifyController) SimpleList() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+ // 默认查一级分类和一级分类下的指标信息,
|
|
|
+ // 如果是 子级分类,查询该子级分类的下一级分类和指标信息
|
|
|
+ // 增加标识判断是文件夹还是指标列表
|
|
|
+ parentId, _ := this.GetInt("ParentId")
|
|
|
+
|
|
|
+ rootList, err := data_manage.GetEdbClassifyByParentId(parentId, 0)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+
|
|
|
+ var sortList data_manage.EdbClassifyItemList
|
|
|
+ if parentId > 0 {
|
|
|
+ // 查询挂在当前分类上的指标列表
|
|
|
+ // 获取当前账号的不可见指标
|
|
|
+ obj := data_manage.EdbInfoNoPermissionAdmin{}
|
|
|
+ confList, err := obj.GetAllListByAdminId(this.SysUser.AdminId)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取不可见指标配置数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ noPermissionEdbInfoIdMap := make(map[int]bool)
|
|
|
+ for _, v := range confList {
|
|
|
+ noPermissionEdbInfoIdMap[v.EdbInfoId] = true
|
|
|
+ }
|
|
|
+ allEdbInfo, err := data_manage.GetEdbInfoByClassifyId(parentId, 0)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取指标数据失败"
|
|
|
+ br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ for _, v := range allEdbInfo {
|
|
|
+ // 如果指标不可见,那么就不返回该指标
|
|
|
+ if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ button := data.GetEdbOpButton(this.SysUser, v.SysUserId, v.EdbType, utils.EDB_INFO_TYPE)
|
|
|
+ button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
|
|
|
+ v.Button = button
|
|
|
+ v.Children = make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ v.ParentId = parentId
|
|
|
+ nodeAll = append(nodeAll, v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if len(rootList) > 0 {
|
|
|
+ for _, v := range rootList {
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+ v.Button = button
|
|
|
+ v.Children = make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ nodeAll = append(nodeAll, v)
|
|
|
+ }
|
|
|
+
|
|
|
+ //根据sort值排序
|
|
|
+ sortList = nodeAll
|
|
|
+ sort.Sort(sortList)
|
|
|
+ }
|
|
|
+ language := `CN`
|
|
|
+ // 指标显示的语言
|
|
|
+ {
|
|
|
+ configDetail, _ := system.GetConfigDetailByCode(this.SysUser.AdminId, system.EdbLanguageVar)
|
|
|
+ if configDetail != nil {
|
|
|
+ language = configDetail.ConfigValue
|
|
|
+ } else {
|
|
|
+ configDetail, _ = system.GetDefaultConfigDetailByCode(system.EdbLanguageVar)
|
|
|
+ if configDetail != nil {
|
|
|
+ language = configDetail.ConfigValue
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 是否允许添加一级分类
|
|
|
+ canOpClassify := true
|
|
|
+ button := data.GetEdbClassifyOpButton(this.SysUser, 0)
|
|
|
+ if !button.AddButton {
|
|
|
+ canOpClassify = false
|
|
|
+ }
|
|
|
+
|
|
|
+ resp := new(data_manage.EdbClassifyListResp)
|
|
|
+ resp.AllNodes = sortList
|
|
|
+ resp.Language = language
|
|
|
+ resp.CanOpClassify = canOpClassify
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|
|
|
+
|
|
|
// EdbClassifyMoveV2
|
|
|
// @Title 分类移动接口v2
|
|
|
// @Description 分类移动接口v2
|