hsun hai 8 meses
pai
achega
0743cd6589

+ 22 - 6
models/data_manage/factor_edb_series_chart_mapping.go

@@ -8,13 +8,21 @@ import (
 	"time"
 )
 
+const (
+	FactorEdbSeriesChartCalculateTypeCorrelation = 1 // 相关性计算
+)
+
 // FactorEdbSeriesChartMapping 因子指标系列-图表关联
 type FactorEdbSeriesChartMapping struct {
 	FactorEdbSeriesChartMappingId int       `orm:"column(factor_edb_series_chart_mapping_id);pk"`
-	FactorEdbSeriesId             int       `description:"因子指标系列ID"`
 	ChartInfoId                   int       `description:"图表ID"`
+	Source                        int       `description:"图表来源, 同chart_info表source"`
+	CalculateType                 int       `description:"计算方式: 1-相关性"`
+	CalculatePars                 string    `description:"计算参数-JSON(如计算窗口等)"`
+	CalculateData                 string    `description:"计算数据-JSON(如相关性矩阵等)"`
+	FactorEdbSeriesId             int       `description:"因子指标系列ID"`
 	EdbInfoId                     int       `description:"指标ID"`
-	Source                        int       `description:"图表来源,同chart_info表source"`
+	EdbUsed                       int       `description:"指标是否使用: 0-否; 1-是"`
 	CreateTime                    time.Time `description:"创建时间"`
 	ModifyTime                    time.Time `description:"修改时间"`
 }
@@ -25,10 +33,14 @@ func (m *FactorEdbSeriesChartMapping) TableName() string {
 
 type MultipleFactorSeriesChartMappingCols struct {
 	PrimaryId         string
-	FactorEdbSeriesId string
 	ChartInfoId       string
-	EdbInfoId         string
 	Source            string
+	CalculateType     string
+	CalculatePars     string
+	CalculateData     string
+	FactorEdbSeriesId string
+	EdbInfoId         string
+	EdbUsed           string
 	CreateTime        string
 	ModifyTime        string
 }
@@ -36,10 +48,14 @@ type MultipleFactorSeriesChartMappingCols struct {
 func (m *FactorEdbSeriesChartMapping) Cols() MultipleFactorSeriesChartMappingCols {
 	return MultipleFactorSeriesChartMappingCols{
 		PrimaryId:         "factor_edb_series_chart_mapping_id",
-		FactorEdbSeriesId: "factor_edb_series_id",
 		ChartInfoId:       "chart_info_id",
-		EdbInfoId:         "edb_info_id",
 		Source:            "source",
+		CalculateType:     "calculate_type",
+		CalculatePars:     "calculate_pars",
+		CalculateData:     "calculate_data",
+		FactorEdbSeriesId: "factor_edb_series_id",
+		EdbInfoId:         "edb_info_id",
+		EdbUsed:           "edb_used",
 		CreateTime:        "create_time",
 		ModifyTime:        "modify_time",
 	}

+ 0 - 3
models/data_manage/factor_edb_series_mapping.go

@@ -14,7 +14,6 @@ type FactorEdbSeriesMapping struct {
 	FactorEdbSeriesId        int       `description:"因子指标系列ID"`
 	EdbInfoId                int       `description:"指标ID"`
 	EdbCode                  string    `description:"指标编码"`
-	CalculateData            string    `description:"计算数据-JSON(如相关性矩阵等等)"`
 	CreateTime               time.Time `description:"创建时间"`
 	ModifyTime               time.Time `description:"修改时间"`
 }
@@ -28,7 +27,6 @@ type FactorEdbSeriesMappingCols struct {
 	FactorEdbSeriesId string
 	EdbInfoId         string
 	EdbCode           string
-	CalculateData     string
 	CreateTime        string
 	ModifyTime        string
 }
@@ -39,7 +37,6 @@ func (m *FactorEdbSeriesMapping) Cols() FactorEdbSeriesMappingCols {
 		FactorEdbSeriesId: "factor_edb_series_id",
 		EdbInfoId:         "edb_info_id",
 		EdbCode:           "edb_code",
-		CalculateData:     "calculate_data",
 		CreateTime:        "create_time",
 		ModifyTime:        "modify_time",
 	}

+ 9 - 3
services/data/correlation/chart_info.go

@@ -596,17 +596,23 @@ func GetFactorChartDataByChartId(chartInfoId int, extraConfig string) (xEdbIdVal
 		}
 	}
 
+	fmt.Println(chartInfoId)
+
 	// 获取图表引用到的系列指标
-	edbMappings, e := data_manage.GetChartUsedFactorSeriesEdb(chartInfoId)
+	chartMappingOb := new(data_manage.FactorEdbSeriesChartMapping)
+	cond := fmt.Sprintf(" AND %s = ? AND %s = 1", chartMappingOb.Cols().ChartInfoId, chartMappingOb.Cols().EdbUsed)
+	pars := make([]interface{}, 0)
+	pars = append(pars, chartInfoId)
+	chartMappings, e := chartMappingOb.GetItemsByCondition(cond, pars, []string{}, "")
 	if e != nil {
-		err = fmt.Errorf("获取图表引用系列指标失败, err: %v", e)
+		err = fmt.Errorf("获取图表引用系列指标失败")
 		return
 	}
 
 	// 取出计算结果
 	yDataList = make([]models.YData, 0)
 	yDate := "0000-00-00"
-	for k, m := range edbMappings {
+	for k, m := range chartMappings {
 		var values []data_manage.FactorEdbSeriesCorrelationMatrixValues
 		if m.CalculateData != "" {
 			e = json.Unmarshal([]byte(m.CalculateData), &values)