浏览代码

图表列表接口

xyxie 2 周之前
父节点
当前提交
f1e8c1fbf5
共有 3 个文件被更改,包括 43 次插入3 次删除
  1. 22 1
      controllers/business_chart.go
  2. 1 0
      models/data_manage/edb_info.go
  3. 20 2
      models/data_manage/eta_business_chart_permission.go

+ 22 - 1
controllers/business_chart.go

@@ -74,7 +74,16 @@ func (this *BusinessChartController) List() {
 	for _, v := range chartList {
 		chartInfoIds = append(chartInfoIds, v.ChartInfoId)
 	}
-	
+	descriptionList, err := chartOb.GetChartDescriptionListByChartInfoIds(chartInfoIds)
+	if err != nil {
+		br.Msg = "获取失败"
+		br.ErrMsg = "ChartList GetChartDescriptionListByChartInfoIds err: " + err.Error()
+		return
+	}
+	descriptionMap := make(map[int][]string)
+	for _, v := range descriptionList {
+		descriptionMap[v.ChartInfoId] = append(descriptionMap[v.ChartInfoId], v.Description)
+	}
 	edbMappingList, err := data_manage.GetChartEdbMappingList(chartInfoIds)
 	if err != nil {
 		br.Msg = "获取失败"
@@ -95,13 +104,19 @@ func (this *BusinessChartController) List() {
 	edbInfoMap := make(map[int]*data_manage.BusinessChartEdbListItem)
 	// 根据chartInfoId 将edbInfoList 转换为chartMappingMap
 	for _, v := range edbInfoList {
+		endValue := v.EndValue
+		if v.EdbInfoType == 0 {
+			endValue = v.LatestValue
+		}
 		item := &data_manage.BusinessChartEdbListItem{
 			EdbInfoId: v.EdbInfoId,
 			EdbName: v.EdbName,
 			EdbCode: v.EdbCode,
+			EdbInfoType: v.EdbInfoType,
 			Frequency: v.Frequency,
 			Unit: v.Unit,
 			EndDate: v.EndDate,
+			EndValue: endValue,
 			LatestDate: v.LatestDate,
 			LatestValue: v.LatestValue,
 			UniqueCode: v.UniqueCode,
@@ -115,6 +130,12 @@ func (this *BusinessChartController) List() {
 
 	for _, v := range chartList {
 		v.EdbInfoList = chartMappingMap[v.ChartInfoId]
+		description, ok := descriptionMap[v.ChartInfoId]
+		if !ok {
+			v.Description = make([]string, 0)
+		} else {
+			v.Description = description
+		}
 	}
 
 	resp.List = chartList

+ 1 - 0
models/data_manage/edb_info.go

@@ -24,6 +24,7 @@ type EdbInfo struct {
 	UnitEn           string    `description:"英文单位"`
 	StartDate        string    `description:"起始日期"`
 	EndDate          string    `description:"终止日期"`
+	EndValue         float64   `description:"终止值"`
 	ClassifyId       int       `description:"分类ID"`
 	SysUserId        int       `description:"创建人ID"`
 	SysUserRealName  string    `description:"创建人姓名"`

+ 20 - 2
models/data_manage/eta_business_chart_permission.go

@@ -1,6 +1,7 @@
 package data_manage
 
 import (
+	"eta/eta_hub/utils"
 	"fmt"
 	"time"
 
@@ -28,7 +29,7 @@ type BusinessChartInfoView struct {
 	ChartInfoId int
 	ChartName string
 	UniqueCode string	
-	Description string
+	Description []string
 	EdbInfoList []*BusinessChartEdbListItem
 }
 	
@@ -44,7 +45,7 @@ func (m *EtaBusinessChartPermission) GetChartListByBusinessCode(businessCode str
 	// 构建SQL查询
 	sql := `
 		SELECT 
-			c.chart_info_id, c.chart_name, c.unique_code, c.description
+			c.chart_info_id, c.chart_name, c.unique_code
 		FROM 
 			eta_business_chart_permission p
 		JOIN 
@@ -100,10 +101,27 @@ type BusinessChartEdbListItem struct {
 	EdbInfoId int
 	EdbCode string
 	EdbName string
+	EdbInfoType int
 	Frequency string
 	Unit string
 	EndDate string
+	EndValue float64
 	LatestDate string
 	LatestValue float64
 	UniqueCode string
+}
+
+type ChartDescription struct {
+	ChartInfoId int
+	Description string
+}
+
+// 查询图表描述列表
+func (m *EtaBusinessChartPermission) GetChartDescriptionListByChartInfoIds(chartInfoIds []int) (list []*ChartDescription, err error) {
+	o := orm.NewOrmUsingDB("data")
+	sql := `
+		SELECT * FROM chart_description WHERE chart_info_id IN (`+utils.GetOrmInReplace(len(chartInfoIds))+`)
+	`
+	_, err = o.Raw(sql, chartInfoIds).QueryRows(&list)
+	return list, err
 }