|
@@ -8,6 +8,7 @@ import (
|
|
"eta/eta_api/models/system"
|
|
"eta/eta_api/models/system"
|
|
"eta/eta_api/services/data"
|
|
"eta/eta_api/services/data"
|
|
"eta/eta_api/utils"
|
|
"eta/eta_api/utils"
|
|
|
|
+ "sort"
|
|
)
|
|
)
|
|
|
|
|
|
// PredictEdbClassifyController 数据管理-预测指标分类模块
|
|
// PredictEdbClassifyController 数据管理-预测指标分类模块
|
|
@@ -387,9 +388,9 @@ func (this *PredictEdbClassifyController) Move() {
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
- if req.ClassifyId <= 0 {
|
|
|
|
|
|
+ if req.ClassifyId <= 0 && req.EdbInfoId <= 0 {
|
|
br.Msg = "参数错误"
|
|
br.Msg = "参数错误"
|
|
- br.ErrMsg = "分类id小于等于0"
|
|
|
|
|
|
+ br.ErrMsg = "请选择拖动目标,分类目录或者指标"
|
|
return
|
|
return
|
|
}
|
|
}
|
|
|
|
|
|
@@ -653,3 +654,177 @@ func (this *PredictEdbClassifyController) ListV2() {
|
|
br.Msg = "获取成功"
|
|
br.Msg = "获取成功"
|
|
br.Data = resp
|
|
br.Data = resp
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+// SimpleList
|
|
|
|
+// @Title 单层分类列表
|
|
|
|
+// @Description 单层分类列表
|
|
|
|
+// @Success 200 {object} data_manage.EdbClassifyListResp
|
|
|
|
+// @router /predict_classify/simple [get]
|
|
|
|
+func (this *PredictEdbClassifyController) SimpleList() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+ // 默认查一级分类和一级分类下的指标信息,
|
|
|
|
+ // 如果是 子级分类,查询该子级分类的下一级分类和指标信息
|
|
|
|
+ // 增加标识判断是文件夹还是指标列表
|
|
|
|
+ parentId, _ := this.GetInt("ParentId")
|
|
|
|
+ isOnlyMe, _ := this.GetBool("IsOnlyMe")
|
|
|
|
+ // 如果选择了只看我的,那么只查询归属于我的账号
|
|
|
|
+ sysUserId := 0
|
|
|
|
+ if isOnlyMe {
|
|
|
|
+ sysUserId = this.SysUser.AdminId
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ rootList, err := data_manage.GetEdbClassifyByParentId(parentId, 1)
|
|
|
|
+ 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, 1, sysUserId)
|
|
|
|
+ if err != nil {
|
|
|
|
+ br.Msg = "获取指标数据失败"
|
|
|
|
+ br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ for _, v := range allEdbInfo {
|
|
|
|
+ // 如果指标不可见,那么就不返回该指标
|
|
|
|
+ if _, ok := noPermissionEdbInfoIdMap[v.EdbInfoId]; ok {
|
|
|
|
+ continue
|
|
|
|
+ }
|
|
|
|
+ button := data.GetPredictEdbOpButton(this.SysUser, v.SysUserId)
|
|
|
|
+ button.AddButton = false //不管有没有权限,指标都是没有添加按钮的
|
|
|
|
+ button.OpButton = false
|
|
|
|
+ button.DeleteButton = 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.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
|
+ v.Button = button
|
|
|
|
+ v.Children = make([]*data_manage.EdbClassifyItems, 0)
|
|
|
|
+ nodeAll = append(nodeAll, v)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ if len(nodeAll) > 0 {
|
|
|
|
+ //根据sort值排序
|
|
|
|
+ sortList = nodeAll
|
|
|
|
+ sort.Sort(sortList)
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ // 是否允许添加一级分类
|
|
|
|
+ canOpClassify := true
|
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, 0)
|
|
|
|
+ if !button.AddButton {
|
|
|
|
+ canOpClassify = false
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ language := `CN`
|
|
|
|
+ // 指标显示的语言
|
|
|
|
+ {
|
|
|
|
+ configDetail, _ := system.GetConfigDetailByCode(this.SysUser.AdminId, system.PredictEdbLanguageVar)
|
|
|
|
+ if configDetail != nil {
|
|
|
|
+ language = configDetail.ConfigValue
|
|
|
|
+ } else {
|
|
|
|
+ configDetail, _ = system.GetDefaultConfigDetailByCode(system.PredictEdbLanguageVar)
|
|
|
|
+ if configDetail != nil {
|
|
|
|
+ language = configDetail.ConfigValue
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 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
|
|
|
|
+}
|
|
|
|
+
|
|
|
|
+// ClassifyTree
|
|
|
|
+// @Title 多层分类列表树
|
|
|
|
+// @Description 多层分类列表树
|
|
|
|
+// @Success 200 {object} data_manage.EdbClassifyListResp
|
|
|
|
+// @router /predict_classify/tree [get]
|
|
|
|
+func (this *PredictEdbClassifyController) ClassifyTree() {
|
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
|
+ defer func() {
|
|
|
|
+ this.Data["json"] = br
|
|
|
|
+ this.ServeJSON()
|
|
|
|
+ }()
|
|
|
|
+
|
|
|
|
+ allList, err := data_manage.GetPredictEdbClassifyAll()
|
|
|
|
+ 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 len(allList) > 0 {
|
|
|
|
+ for k, v := range allList {
|
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
|
+ allList[k].Button = button
|
|
|
|
+ }
|
|
|
|
+ nodeAll = data.GetClassifyTreeRecursive(allList, 0)
|
|
|
|
+ //根据sort值排序
|
|
|
|
+ sortList = nodeAll
|
|
|
|
+ sort.Sort(sortList)
|
|
|
|
+ }
|
|
|
|
+ // 是否允许添加一级分类
|
|
|
|
+ canOpClassify := true
|
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, 0)
|
|
|
|
+ if !button.AddButton {
|
|
|
|
+ canOpClassify = false
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ language := `CN`
|
|
|
|
+ // 指标显示的语言
|
|
|
|
+ {
|
|
|
|
+ configDetail, _ := system.GetConfigDetailByCode(this.SysUser.AdminId, system.PredictEdbLanguageVar)
|
|
|
|
+ if configDetail != nil {
|
|
|
|
+ language = configDetail.ConfigValue
|
|
|
|
+ } else {
|
|
|
|
+ configDetail, _ = system.GetDefaultConfigDetailByCode(system.PredictEdbLanguageVar)
|
|
|
|
+ if configDetail != nil {
|
|
|
|
+ language = configDetail.ConfigValue
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ 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
|
|
|
|
+}
|