Browse Source

查看图引用

xyxie 9 months ago
parent
commit
e75ca3535b

+ 62 - 8
controllers/data_manage/edb_info.go

@@ -6,6 +6,7 @@ import (
 	"eta/eta_api/models"
 	"eta/eta_api/models/company"
 	"eta/eta_api/models/data_manage"
+	"eta/eta_api/models/data_manage/cross_variety"
 	request2 "eta/eta_api/models/data_manage/excel/request"
 	"eta/eta_api/models/data_manage/request"
 	"eta/eta_api/models/data_manage/response"
@@ -3905,9 +3906,9 @@ func (this *EdbInfoController) RelationChartList() {
 		return
 	}
 
-	// 关联指标
+	/*// 关联指标
 	condition += ` AND b.edb_info_id = ? `
-	pars = append(pars, edbInfoId)
+	pars = append(pars, edbInfoId)*/
 
 	//只看我的
 	isShowMe, _ := this.GetBool("IsShowMe")
@@ -3916,8 +3917,47 @@ func (this *EdbInfoController) RelationChartList() {
 		pars = append(pars, sysUser.AdminId)
 	}
 
+	chartIds := make([]int, 0)
+	chartIdMap := make(map[int]bool)
+	// 查询指标绑定的图表
+	edbListTemp, err := data_manage.GetEdbMappingListByEdbInfoId(edbInfoId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取图表信息失败"
+		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+		return
+	}
+	for _, v := range edbListTemp {
+		if _, ok := chartIdMap[v.ChartInfoId]; !ok {
+			chartIdMap[v.ChartInfoId] = true
+		}
+	}
+	// 查询跨品种的图表
+	tagXList, err := cross_variety.GetChartInfoCrossVarietyByXEdbInfoId(edbInfoId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取图表信息失败"
+		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+		return
+	}
+
+	for _, v := range tagXList {
+		if _, ok := chartIdMap[v.ChartInfoId]; !ok {
+			chartIdMap[v.ChartInfoId] = true
+		}
+	}
+
+	tagYList, err := cross_variety.GetChartInfoCrossVarietyByYEdbInfoId(edbInfoId)
+	if err != nil && err.Error() != utils.ErrNoRow() {
+		br.Msg = "获取图表信息失败"
+		br.ErrMsg = "获取图表信息失败,Err:" + err.Error()
+		return
+	}
+	for _, v := range tagYList {
+		if _, ok := chartIdMap[v.ChartInfoId]; !ok {
+			chartIdMap[v.ChartInfoId] = true
+		}
+	}
+
 	// 获取当前账号的不可见图表
-	noPermissionChartIdList := make([]int, 0)
 	{
 		obj := data_manage.EdbInfoNoPermissionAdmin{}
 		confList, err := obj.GetAllChartListByAdminId(this.SysUser.AdminId)
@@ -3927,15 +3967,29 @@ func (this *EdbInfoController) RelationChartList() {
 			return
 		}
 		for _, v := range confList {
-			noPermissionChartIdList = append(noPermissionChartIdList, v.ChartInfoId)
+			if _, ok := chartIdMap[v.ChartInfoId]; ok {
+				delete(chartIdMap, v.ChartInfoId)
+			}
 		}
 	}
-	noPermissionChartIdNum := len(noPermissionChartIdList)
-	if noPermissionChartIdNum > 0 {
-		condition += ` AND a.chart_info_id not in  (` + utils.GetOrmInReplace(noPermissionChartIdNum) + `) `
-		pars = append(pars, noPermissionChartIdList)
+	for k, _ := range chartIdMap {
+		chartIds = append(chartIds, k)
 	}
 
+	// 关联指标
+	if len(chartIds) > 0 {
+		condition += `  AND a.chart_info_id in  (` + utils.GetOrmInReplace(len(chartIds)) + `)`
+		pars = append(pars, chartIds)
+	} else {
+		items := make([]*data_manage.ChartInfoView, 0)
+		resp.Paging = page
+		resp.List = items
+		br.Ret = 200
+		br.Success = true
+		br.Msg = "获取成功"
+		return
+	}
+	// 得到图表ID
 	//获取关联图表列表
 	list, err := data_manage.GetRelationChartListByCondition(condition, pars, startSize, pageSize)
 	if err != nil && err.Error() != utils.ErrNoRow() {

+ 28 - 6
controllers/sandbox/sandbox.go

@@ -1029,7 +1029,7 @@ func (this *SandboxController) EditSandboxClassify() {
 		br.ErrMsg = "查询子级分类id失败,Err:" + err.Error()
 		return
 	}
-	err  = sandbox.UpdateSandboxClassifyChartPermissionById(req.ChartPermissionId, req.ChartPermissionName, ids)
+	err = sandbox.UpdateSandboxClassifyChartPermissionById(req.ChartPermissionId, req.ChartPermissionName, ids)
 	if err != nil {
 		br.Msg = "修改子级分类错误"
 		br.ErrMsg = "修改子级分类错误,Err:" + err.Error()
@@ -1646,7 +1646,7 @@ func (this *SandboxController) ChartClassifyMove() {
 					br.ErrMsg = "获取上级分类信息失败,Err:" + err.Error()
 					return
 				}
-				err  = sandbox.UpdateSandboxClassifyChartPermissionById(parentChartClassifyInfo.ChartPermissionId, parentChartClassifyInfo.ChartPermissionName, ids)
+				err = sandbox.UpdateSandboxClassifyChartPermissionById(parentChartClassifyInfo.ChartPermissionId, parentChartClassifyInfo.ChartPermissionName, ids)
 				if err != nil {
 					br.Msg = "修改子级分类错误"
 					br.ErrMsg = "修改子级分类错误,Err:" + err.Error()
@@ -2376,8 +2376,15 @@ func (this *SandboxController) LinkEdbInfoCheck() {
 		br.ErrMsg = "获取指标信息失败,err:" + err.Error()
 		return
 	}
+	edbList := make([]*sandbox.SandboxLinkCheckItem, 0)
 	for _, v := range edbInfoList {
-		resp.EdbInfoIdList = append(resp.EdbInfoIdList, v.EdbInfoId)
+		tmp := &sandbox.SandboxLinkCheckItem{
+			Id:         v.EdbInfoId,
+			Name:       v.EdbName,
+			UniqueCode: v.UniqueCode,
+			ClassifyId: v.ClassifyId,
+		}
+		edbList = append(edbList, tmp)
 	}
 
 	chartList, err := data_manage.GetChartInfoByIdList(req.ChartInfoIdList)
@@ -2386,8 +2393,15 @@ func (this *SandboxController) LinkEdbInfoCheck() {
 		br.ErrMsg = `获取图表列表失败,ERR:` + err.Error()
 		return
 	}
+	chartListTmp := make([]*sandbox.SandboxLinkCheckItem, 0)
 	for _, v := range chartList {
-		resp.ChartInfoIdList = append(resp.ChartInfoIdList, v.ChartInfoId)
+		tmp := &sandbox.SandboxLinkCheckItem{
+			Id:         v.ChartInfoId,
+			Name:       v.ChartName,
+			UniqueCode: v.UniqueCode,
+			ClassifyId: v.ChartClassifyId,
+		}
+		chartListTmp = append(chartListTmp, tmp)
 	}
 
 	reportList, err := models.GetSimpleReportByIds(req.ReportIdList)
@@ -2396,10 +2410,18 @@ func (this *SandboxController) LinkEdbInfoCheck() {
 		br.ErrMsg = `获取报告列表失败,ERR:` + err.Error()
 		return
 	}
+	reportListTmp := make([]*sandbox.SandboxLinkCheckItem, 0)
 	for _, v := range reportList {
-		resp.ReportIdList = append(resp.ReportIdList, v.Id)
+		tmp := &sandbox.SandboxLinkCheckItem{
+			Id:         v.Id,
+			Name:       v.Title,
+			UniqueCode: v.ReportCode,
+		}
+		reportListTmp = append(reportListTmp, tmp)
 	}
-
+	resp.EdbInfoIdList = edbList
+	resp.ChartInfoIdList = chartListTmp
+	resp.ReportIdList = reportListTmp
 	br.Ret = 200
 	br.Msg = "检测成功"
 	br.Success = true

+ 9 - 0
models/data_manage/chart_edb_mapping.go

@@ -210,6 +210,15 @@ func GetChartEdbMappingByEdbInfoId(edbInfoId int) (item *ChartEdbInfoMapping, er
 	return
 }
 
+// GetEdbMappingListByEdbInfoId 根据指标id获取edb_mapping
+func GetEdbMappingListByEdbInfoId(edbInfoId int) (item []*ChartEdbInfoMapping, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := ` SELECT * FROM chart_edb_mapping
+			 WHERE edb_info_id = ? limit 1`
+	_, err = o.Raw(sql, edbInfoId).QueryRows(&item)
+	return
+}
+
 // GetChartEdbMappingByFutureGoodEdbInfoId 根据指标id获取edb_mapping
 func GetChartEdbMappingByFutureGoodEdbInfoId(edbInfoId int) (item *ChartEdbInfoMapping, err error) {
 	o := orm.NewOrmUsingDB("data")

+ 16 - 0
models/data_manage/cross_variety/chart_info_cross_variety.go

@@ -72,6 +72,22 @@ func GetChartInfoCrossVarietyByChartInfoId(id int) (item *ChartInfoCrossVariety,
 	return
 }
 
+func GetChartInfoCrossVarietyByXEdbInfoId(edbInfoId int) (items []*ChartInfoCrossVariety, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT a.* FROM chart_info_cross_variety a 
+         join chart_tag_variety b on a.chart_x_tag_id=b.chart_tag_id WHERE b.edb_info_id = ? `
+	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	return
+}
+
+func GetChartInfoCrossVarietyByYEdbInfoId(edbInfoId int) (items []*ChartInfoCrossVariety, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `SELECT a.* FROM chart_info_cross_variety a 
+         join chart_tag_variety b on a.chart_y_tag_id=b.chart_tag_id WHERE b.edb_info_id = ? `
+	_, err = o.Raw(sql, edbInfoId).QueryRows(&items)
+	return
+}
+
 // CreateChart
 // @Description: 新增跨品种图表
 // @author: Roc

+ 2 - 2
models/data_manage/my_chart.go

@@ -870,7 +870,7 @@ func GetMyChartListGroupByCharyInfoIdAndAdminIdByCondition(condition string, par
 func GetRelationChartListByCondition(condition string, pars []interface{}, startSize, pageSize int) (item []*ChartInfoView, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT a.* FROM chart_info AS a 
-	JOIN chart_edb_mapping AS b on a.chart_info_id = b.chart_info_id WHERE 1=1 `
+	WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}
@@ -883,7 +883,7 @@ func GetRelationChartListByCondition(condition string, pars []interface{}, start
 func GetRelationChartListCountByCondition(condition string, pars []interface{}) (count int, err error) {
 	o := orm.NewOrmUsingDB("data")
 	sql := ` SELECT COUNT(1) AS count FROM chart_info AS a 
-	JOIN chart_edb_mapping AS b on a.chart_info_id = b.chart_info_id WHERE 1=1 `
+	WHERE 1=1 `
 	if condition != "" {
 		sql += condition
 	}

+ 2 - 2
models/report.go

@@ -230,12 +230,12 @@ func GetReportByIds(reportIds string) (list []*ReportDetail, err error) {
 }
 
 // GetSimpleReportByIds 根据报告ID查询报告基本信息
-func GetSimpleReportByIds(reportIds []int) (list []*ReportDetail, err error) {
+func GetSimpleReportByIds(reportIds []int) (list []*Report, err error) {
 	if len(reportIds) == 0 {
 		return
 	}
 	o := orm.NewOrmUsingDB("rddp")
-	sql := `SELECT id, title FROM report WHERE id IN (` + utils.GetOrmInReplace(len(reportIds)) + `)`
+	sql := `SELECT id, title, report_code FROM report WHERE id IN (` + utils.GetOrmInReplace(len(reportIds)) + `)`
 	_, err = o.Raw(sql, reportIds).QueryRows(&list)
 	return
 }

+ 12 - 5
models/sandbox/sandbox_classify.go

@@ -247,10 +247,17 @@ type SandboxLinkCheckReq struct {
 	ReportIdList    []int `description:"报告id列表"`
 }
 
+type SandboxLinkCheckItem struct {
+	Id         int    `description:"id"`
+	Name       string `description:"名称"`
+	UniqueCode string `description:"唯一编码"`
+	ClassifyId int    `description:"分类id"`
+}
+
 type SandboxLinkCheckResp struct {
-	EdbInfoIdList   []int `description:"指标id列表"`
-	ChartInfoIdList []int `description:"图库id列表"`
-	ReportIdList    []int `description:"报告id列表"`
+	EdbInfoIdList   []*SandboxLinkCheckItem `description:"指标id列表"`
+	ChartInfoIdList []*SandboxLinkCheckItem `description:"图库id列表"`
+	ReportIdList    []*SandboxLinkCheckItem `description:"报告id列表"`
 }
 
 // 获取所有子级分类id
@@ -272,7 +279,7 @@ WHERE sc.parent_id = @pv
 // UpdateSandboxClassifyChartPermissionById 根据沙盘id更新品种
 func UpdateSandboxClassifyChartPermissionById(ChartPermissionId int, ChartPermissionName, Ids string) (err error) {
 	o := orm.NewOrmUsingDB("data")
-	sql := ` UPDATE sandbox_classify SET chart_permission_id = ?, chart_permission_name = ? WHERE sandbox_classify_id IN ( `+Ids +` ) `
+	sql := ` UPDATE sandbox_classify SET chart_permission_id = ?, chart_permission_name = ? WHERE sandbox_classify_id IN ( ` + Ids + ` ) `
 	_, err = o.Raw(sql, ChartPermissionId, ChartPermissionName).Exec()
 	return
-}
+}