浏览代码

Merge branch 'bzq1/pool/257_cf' of eta_server/eta_api into debug

鲍自强 6 月之前
父节点
当前提交
b40a601637

+ 6 - 3
controllers/data_manage/future_good/future_good_chart_classify.go

@@ -124,16 +124,19 @@ func getChartClassifyListForMe(adminInfo system.Admin, resp *data_manage.ChartCl
 		chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
 	}
 	rootChildMap := make(map[int][]*data_manage.ChartClassifyItems)
+	res := 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
 		} else {
-			items := make([]*data_manage.ChartClassifyItems, 0)
-			v.Children = items
+			// items := make([]*data_manage.ChartClassifyItems, 0)
+			// v.Children = items
+			continue
 		}
+		res = append(res, v)
 	}
-	resp.AllNodes = rootList
+	resp.AllNodes = res
 
 	return
 }

+ 8 - 5
controllers/data_manage/line_equation/line_chart_classify.go

@@ -129,16 +129,19 @@ func getChartClassifyListForMe(adminInfo system.Admin, resp *data_manage.ChartCl
 	for _, v := range allChartInfo {
 		chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
 	}
-	for k, v := range rootList {
+	res := make([]*data_manage.ChartClassifyItems, 0)
+	for _, v := range rootList {
 		if existItems, ok := chartInfoMap[v.ChartClassifyId]; ok {
 			v.Children = existItems
 		} else {
-			items := make([]*data_manage.ChartClassifyItems, 0)
-			v.Children = items
+			// items := make([]*data_manage.ChartClassifyItems, 0)
+			// v.Children = items
+			continue
 		}
-		rootList[k] = v
+		res = append(res, v)
+		// rootList[k] = v
 	}
-	resp.AllNodes = rootList
+	resp.AllNodes = res
 
 	return
 }

+ 8 - 5
controllers/data_manage/line_feature/classify.go

@@ -129,16 +129,19 @@ func getChartClassifyListForMe(adminInfo system.Admin, resp *data_manage.ChartCl
 	for _, v := range allChartInfo {
 		chartInfoMap[v.ChartClassifyId] = append(chartInfoMap[v.ChartClassifyId], v)
 	}
-	for k, v := range rootList {
+	res := make([]*data_manage.ChartClassifyItems, 0)
+	for _, v := range rootList {
 		if existItems, ok := chartInfoMap[v.ChartClassifyId]; ok {
 			v.Children = existItems
 		} else {
-			items := make([]*data_manage.ChartClassifyItems, 0)
-			v.Children = items
+			// items := make([]*data_manage.ChartClassifyItems, 0)
+			// v.Children = items
+			continue
 		}
-		rootList[k] = v
+		res = append(res, v)
+		// rootList[k] = v
 	}
-	resp.AllNodes = rootList
+	resp.AllNodes = res
 
 	return
 }

+ 9 - 0
controllers/data_manage/range_analysis/chart_classify.go

@@ -8,6 +8,7 @@ import (
 	"eta/eta_api/models/system"
 	"eta/eta_api/services/data"
 	"eta/eta_api/services/data/data_manage_permission"
+	"eta/eta_api/services/data/range_analysis"
 	"eta/eta_api/utils"
 	"fmt"
 	"sort"
@@ -127,6 +128,14 @@ func (this *RangeChartClassifyController) ChartClassifyList() {
 			nodeAll = append(nodeAll, v)
 		}
 	}
+	if isShowMe {
+		nodeAll, err = range_analysis.GetClassifyListByIsShowMe(this.SysUser.AdminId, parentId, source, nodeAll)
+		if err != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取数据失败,Err:" + err.Error()
+			return
+		}
+	}
 
 	// 整体排序
 	if len(nodeAll) > 0 {

+ 2 - 1
models/data_manage/chart_classify.go

@@ -3,8 +3,9 @@ package data_manage
 import (
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
 	"time"
+
+	"github.com/beego/beego/v2/client/orm"
 )
 
 type ChartClassify struct {

+ 13 - 3
models/data_manage/chart_info.go

@@ -5,12 +5,13 @@ import (
 	"eta/eta_api/models/mgo"
 	"eta/eta_api/utils"
 	"fmt"
-	"github.com/beego/beego/v2/client/orm"
-	"github.com/rdlucklib/rdluck_tools/paging"
-	"go.mongodb.org/mongo-driver/bson"
 	"strconv"
 	"strings"
 	"time"
+
+	"github.com/beego/beego/v2/client/orm"
+	"github.com/rdlucklib/rdluck_tools/paging"
+	"go.mongodb.org/mongo-driver/bson"
 )
 
 type ChartInfo struct {
@@ -2820,6 +2821,15 @@ func GetChartInfoBySourceAndParentId(source, parentId, adminId int) (items []*Ch
 	return
 }
 
+func GetChartInfoBySourceAndAdminId(source, adminId int) (items []*ChartClassifyItems, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT chart_info_id,chart_classify_id,chart_name AS chart_classify_name,chart_name_en AS chart_classify_name_en,
+             unique_code,sys_user_id,sys_user_real_name,date_type,start_date,end_date,chart_type,calendar,season_start_date,season_end_date,source
+            FROM chart_info WHERE source = ? AND sys_user_id = ? ORDER BY sort asc,chart_info_id ASC `
+	_, err = o.Raw(sql, source, adminId).QueryRows(&items)
+	return
+}
+
 // PreviewSeasonChartReq 预览季节性图的请求入参
 type PreviewSeasonChartReq struct {
 	ChartEdbInfoList  []*ChartSaveItem `description:"指标及配置信息"`

+ 58 - 0
services/data/range_analysis/range_analysis_classify.go

@@ -0,0 +1,58 @@
+package range_analysis
+
+import (
+	"eta/eta_api/models/data_manage"
+	"eta/eta_api/services/data"
+)
+
+func GetClassifyListByIsShowMe(adminId, parentId, source int, classifyList []*data_manage.ChartClassifyItems) (items []*data_manage.ChartClassifyItems, err error) {
+	chartItems, err := data_manage.GetChartInfoBySourceAndAdminId(source, adminId)
+	if err != nil {
+		return
+	}
+	classifyIdList := make([]int, 0)
+	for _, chart := range chartItems {
+		if chart.ChartClassifyId > 0 {
+			classifyIdList = append(classifyIdList, chart.ChartClassifyId)
+		}
+	}
+	if parentId > 0 {
+		for _, v := range classifyList {
+			if v.ChartClassifyId > 0 && v.ChartInfoId == 0 {
+				classifyItems, er, _ := data.GetChildChartClassifyByClassifyId(v.ChartClassifyId)
+				if er != nil {
+					err = er
+					return
+				}
+				existClassifyMap := make(map[int]struct{})
+				for _, classify := range classifyItems {
+					existClassifyMap[classify.ChartClassifyId] = struct{}{}
+				}
+				for _, edb := range chartItems {
+					if _, ok := existClassifyMap[edb.ChartClassifyId]; ok {
+						items = append(items, v)
+						break
+					}
+				}
+			} else {
+				items = append(items, v)
+			}
+		}
+	} else {
+		tmpClassify, er := data_manage.GetChartClassifyByIdList(classifyIdList)
+		if er != nil {
+			err = er
+			return
+		}
+		existClassifyIdMap := make(map[int]struct{})
+		for _, classify := range tmpClassify {
+			existClassifyIdMap[classify.RootId] = struct{}{}
+		}
+		for _, classify := range classifyList {
+			if _, ok := existClassifyIdMap[classify.ChartClassifyId]; ok {
+				items = append(items, classify)
+			}
+		}
+	}
+	return
+}