ソースを参照

fix:公共分类

Roc 4 ヶ月 前
コミット
1234777b2c

+ 6 - 6
controllers/data_manage/chart_info.go

@@ -4203,13 +4203,13 @@ func (this *ChartInfoController) ChartInfoImgSetBySvg() {
 	return
 }
 
-// BatchMoveEdb
-// @Title 指标批量移动接口
-// @Description 指标批量移动接口
-// @Param	request	body request.MoveEdbClassifyReq true "type json string"
+// BatchMove
+// @Title 图表批量移动接口
+// @Description 图表批量移动接口
+// @Param	request	body request.MoveChartClassifyReq true "type json string"
 // @Success Ret=200 移动成功
-// @router /edb_info/batch_move [post]
-func (this *ChartInfoController) BatchMoveEdb() {
+// @router /chart_info/batch_move [post]
+func (this *ChartInfoController) BatchMove() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		this.Data["json"] = br

+ 67 - 14
controllers/data_manage/public_chart.go

@@ -271,30 +271,80 @@ func (c *ChartPublicController) ListByEs() {
 
 	// 因为是ES查找的,所以需要重新查一下图表的信息,主要是为了把是否授权字段找出来
 	if len(chartInfoList) > 0 {
+		// 图表map信息
+		chartInfoMap := make(map[int]*data_manage.ChartInfo)
+		classifyMap := make(map[int]*data_manage.ChartClassify)
+		publicClassifyMap := make(map[int]*data_manage.ChartPublicClassify)
+
+		// 指标id,分类id,公共分类id
 		chartInfoIdList := make([]int, 0)
+		tmpClassifyIdList := make([]int, 0)
+		tmpPublicClassifyIdList := make([]int, 0)
+
 		for _, v := range chartInfoList {
 			v.ConvertToResp()
 			v.HaveOperaAuth = true
 			chartInfoIdList = append(chartInfoIdList, v.ChartInfoId)
+			tmpClassifyIdList = append(tmpClassifyIdList, v.ChartClassifyId)
+			tmpPublicClassifyIdList = append(tmpPublicClassifyIdList, v.ChartPublicClassifyId)
 		}
 
-		tmpChartList, err := data_manage.GetChartInfoByIdList(chartInfoIdList)
-		if err != nil {
-			br.Msg = "获取失败"
-			br.ErrMsg = "获取所有有权限的图表失败,Err:" + err.Error()
-			return
+		// 获取所有有权限的图表
+		{
+			tmpChartList, err := data_manage.GetChartInfoByIdList(chartInfoIdList)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取所有有权限的图表失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpChartList {
+				chartInfoMap[v.ChartInfoId] = v
+			}
 		}
-		chartInfoMap := make(map[int]*data_manage.ChartInfo)
-		for _, v := range tmpChartList {
-			chartInfoMap[v.ChartInfoId] = v
+
+		// 图表分类
+		{
+			tmpList, err := data_manage.GetChartClassifyByIdList(tmpClassifyIdList)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取所有有权限的图表分类失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpList {
+				classifyMap[v.ChartClassifyId] = v
+			}
+		}
+
+		// 公共分类
+		{
+			obj := data_manage.ChartPublicClassify{}
+			tmpList, err := obj.GetChartClassifyByIdList(tmpPublicClassifyIdList)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取所有有权限的公共分类失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpList {
+				publicClassifyMap[v.ChartPublicClassifyId] = v
+			}
 		}
 
+		// 数据重新赋值
 		for _, v := range chartInfoList {
-			tmpChartInfo, ok := chartInfoMap[v.ChartInfoId]
-			if !ok {
-				continue
+			if tmpChartInfo, ok := chartInfoMap[v.ChartInfoId]; ok {
+				v.IsJoinPermission = tmpChartInfo.IsJoinPermission
+			}
+
+			// 普通分类
+			if classifyItem, ok := classifyMap[v.ChartInfoId]; ok {
+				v.ClassifyNamePath = classifyItem.ChartClassifyNamePath
 			}
-			v.IsJoinPermission = tmpChartInfo.IsJoinPermission
+
+			// 公共分类
+			if classifyItem, ok := publicClassifyMap[v.ChartPublicClassifyId]; ok {
+				v.PublicClassifyNamePath = classifyItem.ChartPublicClassifyNamePath
+			}
+
 		}
 	}
 
@@ -410,13 +460,13 @@ func (c *ChartPublicController) AllListByEs() {
 	br.Data = resp
 }
 
-// BatchMoveChart
+// BatchMove
 // @Title 图表批量移动接口
 // @Description 图表批量移动接口
 // @Param	request	body request.MoveChartClassifyReq true "type json string"
 // @Success Ret=200 移动成功
 // @router /chart_info/public/batch_move [post]
-func (c *ChartPublicController) BatchMoveChart() {
+func (c *ChartPublicController) BatchMove() {
 	br := new(models.BaseResponse).Init()
 	defer func() {
 		c.Data["json"] = br
@@ -451,6 +501,9 @@ func (c *ChartPublicController) BatchMoveChart() {
 		return
 	}
 
+	// 只是取公开
+	req.SearchPublicChartReq.ChartPublicList = []int{3}
+
 	chartInfoIdList := make([]int, 0)
 	if req.IsSelectAll {
 		// 获取图表

+ 64 - 12
controllers/data_manage/public_edb.go

@@ -446,7 +446,16 @@ func (c *EdbPublicController) ListByEs() {
 
 	// 因为是ES查找的,所以需要重新查一下指标的信息,主要是为了把是否授权字段找出来
 	if len(edbInfoList) > 0 {
+		// 图表map
+		edbInfoMap := make(map[int]*data_manage.EdbInfo)
+		classifyMap := make(map[int]*data_manage.EdbClassify)
+		publicClassifyMap := make(map[int]*data_manage.EdbPublicClassify)
+
+		// 指标id,分类id,公共分类id
 		edbInfoIdList := make([]int, 0)
+		tmpClassifyIdList := make([]int, 0)
+		tmpPublicClassifyIdList := make([]int, 0)
+
 		for _, v := range edbInfoList {
 			v.ConvertToResp()
 			v.EdbNameAlias = v.EdbName
@@ -454,23 +463,63 @@ func (c *EdbPublicController) ListByEs() {
 			edbInfoIdList = append(edbInfoIdList, v.EdbInfoId)
 		}
 
-		tmpEdbList, err := data_manage.GetEdbInfoByIdList(edbInfoIdList)
-		if err != nil {
-			br.Msg = "获取失败"
-			br.ErrMsg = "获取所有有权限的指标失败,Err:" + err.Error()
-			return
+		// 查找指标
+		{
+			tmpEdbList, err := data_manage.GetEdbInfoByIdList(edbInfoIdList)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取所有有权限的指标失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpEdbList {
+				edbInfoMap[v.EdbInfoId] = v
+				tmpClassifyIdList = append(tmpClassifyIdList, v.ClassifyId)
+				tmpPublicClassifyIdList = append(tmpPublicClassifyIdList, v.EdbPublicClassifyId)
+			}
 		}
-		edbInfoMap := make(map[int]*data_manage.EdbInfo)
-		for _, v := range tmpEdbList {
-			edbInfoMap[v.EdbInfoId] = v
+
+		// 指标分类
+		{
+			tmpList, err := data_manage.GetEdbClassifyByIdList(tmpClassifyIdList)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取所有有权限的图表分类失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpList {
+				classifyMap[v.ClassifyId] = v
+			}
+		}
+
+		// 公共分类
+		{
+			obj := data_manage.EdbPublicClassify{}
+			tmpList, err := obj.GetEdbClassifyByIdList(tmpPublicClassifyIdList)
+			if err != nil {
+				br.Msg = "获取失败"
+				br.ErrMsg = "获取所有有权限的公共分类失败,Err:" + err.Error()
+				return
+			}
+			for _, v := range tmpList {
+				publicClassifyMap[v.EdbPublicClassifyId] = v
+			}
 		}
 
+		// 数据重新赋值
 		for _, v := range edbInfoList {
-			tmpEdbInfo, ok := edbInfoMap[v.EdbInfoId]
-			if !ok {
-				continue
+			if tmpEdbInfo, ok := edbInfoMap[v.EdbInfoId]; ok {
+				v.IsJoinPermission = tmpEdbInfo.IsJoinPermission
+			}
+
+			// 普通分类
+			if classifyItem, ok := classifyMap[v.EdbInfoId]; ok {
+				v.ClassifyNamePath = classifyItem.ClassifyNamePath
+			}
+
+			// 公共分类
+			if classifyItem, ok := publicClassifyMap[v.EdbPublicClassifyId]; ok {
+				v.PublicClassifyNamePath = classifyItem.EdbPublicClassifyNamePath
 			}
-			v.IsJoinPermission = tmpEdbInfo.IsJoinPermission
 		}
 	}
 
@@ -650,6 +699,9 @@ func (c *EdbPublicController) BatchMoveEdb() {
 		return
 	}
 
+	// 只是取公开
+	req.SearchPublicEdbReq.EdbPublicList = []int{3}
+
 	edbInfoIdList := make([]int, 0)
 	if req.IsSelectAll {
 		// 获取指标

+ 23 - 21
models/data_manage/chart_info.go

@@ -1998,27 +1998,29 @@ type ChartInfoView struct {
 	BarConfig         string               `description:"柱方图的配置,json数据" json:"-"`
 	Source            int                  `description:"1:ETA图库;2:商品价格曲线;3:相关性图表"`
 	//CorrelationLeadUnit string `description:"相关性图表-领先单位"`
-	ExtraConfig           string          `description:"图表额外配置,json数据"`
-	ChartSource           string          `description:"图表来源str"`
-	ChartSourceEn         string          `description:"图表来源(英文)"`
-	Button                ChartViewButton `gorm:"-" description:"操作按钮"`
-	SeasonExtraConfig     string          `description:"季节性图表中的配置,json数据"`
-	StartYear             int             `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
-	ChartThemeId          int             `description:"图表应用主题ID"`
-	ChartThemeStyle       string          `description:"图表应用主题样式"`
-	SourcesFrom           string          `description:"图表来源"`
-	Instructions          string          `description:"图表说明"`
-	MarkersLines          string          `description:"标识线"`
-	MarkersAreas          string          `description:"标识区"`
-	IsJoinPermission      int             `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
-	HaveOperaAuth         bool            `description:"是否有数据权限,默认:false"`
-	ForumChartInfoId      int             `description:"社区的图表ID"`
-	ChartAlias            string          `description:"图表别名"`
-	SharedUserIdList      []int           `description:"共享用户id列表" gorm:"-"`
-	SharedUserName        string          `description:"共享用户姓名,多个用英文,隔开" gorm:"-"`
-	PublicStatus          int             `description:"公开状态;0:未公开;1:审批中;2:已驳回;3:已公开"`
-	ChartPublicClassifyId int             `description:"图表公开分类id"`
-	PublicTime            time.Time       `description:"设置公开的时间"`
+	ExtraConfig            string          `description:"图表额外配置,json数据"`
+	ChartSource            string          `description:"图表来源str"`
+	ChartSourceEn          string          `description:"图表来源(英文)"`
+	Button                 ChartViewButton `gorm:"-" description:"操作按钮"`
+	SeasonExtraConfig      string          `description:"季节性图表中的配置,json数据"`
+	StartYear              int             `description:"当选择的日期类型为最近N年类型时,即date_type=20, 用start_year表示N"`
+	ChartThemeId           int             `description:"图表应用主题ID"`
+	ChartThemeStyle        string          `description:"图表应用主题样式"`
+	SourcesFrom            string          `description:"图表来源"`
+	Instructions           string          `description:"图表说明"`
+	MarkersLines           string          `description:"标识线"`
+	MarkersAreas           string          `description:"标识区"`
+	IsJoinPermission       int             `description:"是否加入权限管控,0:不加入;1:加入;默认:0"`
+	HaveOperaAuth          bool            `description:"是否有数据权限,默认:false"`
+	ForumChartInfoId       int             `description:"社区的图表ID"`
+	ChartAlias             string          `description:"图表别名"`
+	SharedUserIdList       []int           `description:"共享用户id列表" gorm:"-"`
+	SharedUserName         string          `description:"共享用户姓名,多个用英文,隔开" gorm:"-"`
+	PublicStatus           int             `description:"公开状态;0:未公开;1:审批中;2:已驳回;3:已公开"`
+	ChartPublicClassifyId  int             `description:"图表公开分类id"`
+	PublicTime             time.Time       `description:"设置公开的时间"`
+	ClassifyNamePath       string          `description:"分类完整路径"`
+	PublicClassifyNamePath string          `description:"公共分类完整路径"`
 }
 
 type ChartViewButton struct {

+ 2 - 0
models/data_manage/edb_info.go

@@ -417,6 +417,8 @@ type EdbInfoList struct {
 	PublicStatus            int                     `description:"公开状态;0:未公开;1:审批中;2:已驳回;3:已公开"`
 	EdbPublicClassifyId     int                     `description:"指标公开分类id"`
 	PublicTime              time.Time               `description:"设置公开的时间"`
+	ClassifyNamePath        string                  `description:"分类完整路径"`
+	PublicClassifyNamePath  string                  `description:"公共分类完整路径"`
 }
 
 type EdbDataInsertConfigItem struct {

+ 2 - 2
models/data_manage/public_chart_classify.go

@@ -97,7 +97,7 @@ func (m ChartPublicClassify) GetChartClassifyById(classifyId int) (item *ChartPu
 	return
 }
 
-// GetEdbClassifyByIdList
+// GetChartClassifyByIdList
 // @Description: 根据id列表获取分类列表
 // @author: Roc
 // @receiver m
@@ -105,7 +105,7 @@ func (m ChartPublicClassify) GetChartClassifyById(classifyId int) (item *ChartPu
 // @param classifyIdList []int
 // @return items []*ChartPublicClassify
 // @return err error
-func (m ChartPublicClassify) GetEdbClassifyByIdList(classifyIdList []int) (items []*ChartPublicClassify, err error) {
+func (m ChartPublicClassify) GetChartClassifyByIdList(classifyIdList []int) (items []*ChartPublicClassify, err error) {
 	if len(classifyIdList) <= 0 {
 		return
 	}

+ 10 - 1
routers/commentsRouter.go

@@ -3031,6 +3031,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:ChartInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:ChartInfoController"],
+        beego.ControllerComments{
+            Method: "BatchMove",
+            Router: `/chart_info/batch_move`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:ChartInfoController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:ChartInfoController"],
         beego.ControllerComments{
             Method: "CommonChartInfoDetailFromUniqueCode",
@@ -3627,7 +3636,7 @@ func init() {
 
     beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:ChartPublicController"] = append(beego.GlobalControllerRouter["eta_gn/eta_api/controllers/data_manage:ChartPublicController"],
         beego.ControllerComments{
-            Method: "BatchMoveChart",
+            Method: "BatchMove",
             Router: `/chart_info/public/batch_move`,
             AllowHTTPMethods: []string{"post"},
             MethodParams: param.Make(),

+ 1 - 1
services/data/data_approve/approve.go

@@ -823,7 +823,7 @@ func GetApproveDetail(approveId int) (resp *response.DataApproveDetail, msg stri
 			// 获取分类信息
 			{
 				publicClassifyObj := data_manage.ChartPublicClassify{}
-				publicClassifyList, tmpErr := publicClassifyObj.GetEdbClassifyByIdList(dataClassifyIdList)
+				publicClassifyList, tmpErr := publicClassifyObj.GetChartClassifyByIdList(dataClassifyIdList)
 				if tmpErr != nil {
 					err = tmpErr
 					return