|
@@ -494,3 +494,160 @@ func (this *PredictEdbClassifyController) Move() {
|
|
|
br.Success = true
|
|
|
br.Msg = "移动成功"
|
|
|
}
|
|
|
+
|
|
|
+// ListV2
|
|
|
+// @Title 预测指标分类列表
|
|
|
+// @Description 预测指标分类列表接口
|
|
|
+// @Param IsOnlyMe query bool false "是否只看我的"
|
|
|
+// @Success 200 {object} data_manage.EdbClassifyListResp
|
|
|
+// @router /predict_classify/list/v2 [get]
|
|
|
+func (this *PredictEdbClassifyController) ListV2() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ this.Data["json"] = br
|
|
|
+ this.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ isOnlyMe, _ := this.GetBool("IsOnlyMe")
|
|
|
+
|
|
|
+ rootList, err := data_manage.GetEdbClassifyByParentId(0, 1)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ // 获取当前账号的不可见指标
|
|
|
+ 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.GetPredictEdbInfoAll(1)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfoMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
+ 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
|
|
|
+ if isOnlyMe {
|
|
|
+ if v.SysUserId == this.SysUser.AdminId {
|
|
|
+ edbInfoMap[v.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ edbInfoMap[v.ClassifyId] = append(edbInfoMap[v.ClassifyId], v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ //rootChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
+
|
|
|
+ //for _, v := range rootList {
|
|
|
+ // button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+ // v.Button = button
|
|
|
+ //
|
|
|
+ // rootChildMap[v.ParentId] = append(rootChildMap[v.ParentId], v)
|
|
|
+ // if existItems, ok := edbInfoMap[v.ClassifyId]; ok {
|
|
|
+ // v.Children = existItems
|
|
|
+ // } else {
|
|
|
+ // items := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ // v.Children = items
|
|
|
+ // }
|
|
|
+ //}
|
|
|
+ rootTwoList, err := data_manage.GetEdbClassifyByParentIdTwo( 1)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ classifyAll, err := data_manage.GetEdbClassifyAllV2(1)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = "获取数据失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ rootTwoMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
+ for _, v := range rootTwoList {
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+ v.Button = button
|
|
|
+ rootTwoMap[v.ParentId] = append(rootTwoMap[v.ParentId], v)
|
|
|
+ }
|
|
|
+ rootTwoChildMap := make(map[int][]*data_manage.EdbClassifyItems)
|
|
|
+ for _, v := range classifyAll {
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+ v.Button = button
|
|
|
+ if v.Level == 3 {
|
|
|
+ rootTwoChildMap[v.ParentId] = append(rootTwoChildMap[v.ParentId], v)
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ nodeAll := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ for _, v := range rootList {
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, v.SysUserId)
|
|
|
+ v.Button = button
|
|
|
+
|
|
|
+ if existItems, ok := rootTwoMap[v.ClassifyId]; ok {
|
|
|
+ v.Children = existItems
|
|
|
+ for _, item := range existItems {
|
|
|
+ button := data.GetPredictEdbClassifyOpButton(this.SysUser, item.SysUserId)
|
|
|
+ item.Button = button
|
|
|
+
|
|
|
+ if existItems, ok := rootTwoChildMap[item.ClassifyId]; ok {
|
|
|
+ item.Children = existItems
|
|
|
+ } else {
|
|
|
+ items := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ item.Children = items
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ items := make([]*data_manage.EdbClassifyItems, 0)
|
|
|
+ v.Children = items
|
|
|
+ }
|
|
|
+ nodeAll = append(nodeAll, v)
|
|
|
+ }
|
|
|
+ // 是否允许添加分类
|
|
|
+ canOpClassify := true
|
|
|
+
|
|
|
+ // 如果不是 超管 或者 ficc管理员,那么就没有权限
|
|
|
+ if this.SysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_ADMIN && this.SysUser.RoleTypeCode != utils.ROLE_TYPE_CODE_FICC_ADMIN {
|
|
|
+ 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 := data_manage.EdbClassifyListResp{
|
|
|
+ AllNodes: nodeAll,
|
|
|
+ CanOpClassify: canOpClassify,
|
|
|
+ Language: language,
|
|
|
+ }
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = resp
|
|
|
+}
|