|
@@ -120,6 +120,9 @@ func InitChartEdbRelation() {
|
|
|
if !ok1 {
|
|
|
continue
|
|
|
}
|
|
|
+ if chartInfo.Source == utils.CHART_SOURCE_CROSS_HEDGING { //过滤掉跨品种分析的图表
|
|
|
+ continue
|
|
|
+ }
|
|
|
edbInfo, ok2 := edbInfoMap[v.EdbInfoId]
|
|
|
if !ok2 {
|
|
|
continue
|
|
@@ -242,10 +245,15 @@ func InitChartCrossVariety() {
|
|
|
break
|
|
|
}
|
|
|
chartIds := make([]int, 0)
|
|
|
+ chartIdMap := make(map[int]struct{})
|
|
|
tagIds := make([]int, 0)
|
|
|
tagIdsMap := make(map[int]struct{})
|
|
|
tagChartMap := make(map[int][]*cross_variety.ChartInfoCrossVariety)
|
|
|
for _, v := range list {
|
|
|
+ if _, ok := chartIdMap[v.ChartInfoId]; !ok {
|
|
|
+ chartIdMap[v.ChartInfoId] = struct{}{}
|
|
|
+ chartIds = append(chartIds, v.ChartInfoId)
|
|
|
+ }
|
|
|
if _, ok := tagIdsMap[v.ChartXTagId]; !ok {
|
|
|
tagIds = append(tagIds, v.ChartXTagId)
|
|
|
tagIdsMap[v.ChartXTagId] = struct{}{}
|
|
@@ -271,6 +279,18 @@ func InitChartCrossVariety() {
|
|
|
tagChartMap[v.ChartYTagId] = chartCross
|
|
|
}
|
|
|
}
|
|
|
+ chartInfoMap := make(map[int]*data_manage.ChartInfo)
|
|
|
+ if len(chartIds) > 0 {
|
|
|
+ // 查询图表信息
|
|
|
+ chartInfoList, e := data_manage.GetChartInfoByChartInfoIds(chartIds)
|
|
|
+ if e != nil {
|
|
|
+ err = fmt.Errorf("查询图表信息列表失败 Err:%s", e)
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for _, v := range chartInfoList {
|
|
|
+ chartInfoMap[v.ChartInfoId] = v
|
|
|
+ }
|
|
|
+ }
|
|
|
chartTagVarietyList, e := cross_variety.GetChartTagVarietyEdbInfoIdsByTagIds(tagIds)
|
|
|
if e != nil {
|
|
|
err = fmt.Errorf("查询指标信息列表失败 Err:%s", e)
|
|
@@ -318,9 +338,20 @@ func InitChartCrossVariety() {
|
|
|
if chartCross, ok2 := tagChartMap[tag.ChartTagId]; ok2 {
|
|
|
for _, crossItem := range chartCross {
|
|
|
if _, ok3 := chartInfoCrossMap[crossItem.ChartInfoId]; !ok3 {
|
|
|
- chartInfoCrossMap[crossItem.ChartInfoId] = struct{}{}
|
|
|
- chartInfoCrossList = append(chartInfoCrossList, crossItem)
|
|
|
- chartIds = append(chartIds, crossItem.ChartInfoId)
|
|
|
+ chartInfo, chartOk := chartInfoMap[crossItem.ChartInfoId]
|
|
|
+ if !chartOk { //表示图表不存在
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ // 查询真正有用的指标ID
|
|
|
+ var config cross_variety.ChartConfigReq
|
|
|
+ e := json.Unmarshal([]byte(chartInfo.ExtraConfig), &config)
|
|
|
+ if e != nil {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+ if utils.InArrayByInt(config.VarietyList, tag.ChartVarietyId) {
|
|
|
+ chartInfoCrossMap[crossItem.ChartInfoId] = struct{}{}
|
|
|
+ chartInfoCrossList = append(chartInfoCrossList, crossItem)
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -331,17 +362,6 @@ func InitChartCrossVariety() {
|
|
|
chartInfoCrossList = make([]*cross_variety.ChartInfoCrossVariety, 0)
|
|
|
}
|
|
|
|
|
|
- // 查询图表信息
|
|
|
- chartInfoList, e := data_manage.GetChartInfoByChartInfoIds(chartIds)
|
|
|
- if e != nil {
|
|
|
- err = fmt.Errorf("查询图表信息列表失败 Err:%s", e)
|
|
|
- return
|
|
|
- }
|
|
|
- chartInfoMap := make(map[int]*data_manage.ChartInfo)
|
|
|
- for _, v := range chartInfoList {
|
|
|
- chartInfoMap[v.ChartInfoId] = v
|
|
|
- }
|
|
|
-
|
|
|
//查询引用关系列表,
|
|
|
chartEdbRelationList, e := data_manage.GetEdbInfoRelationByReferObjectIds(chartIds, utils.EDB_RELATION_CHART)
|
|
|
if e != nil {
|
|
@@ -357,9 +377,6 @@ func InitChartCrossVariety() {
|
|
|
nowTime := time.Now()
|
|
|
for _, item := range chartCrossList {
|
|
|
name := fmt.Sprintf("%d-%d", item.ChartInfoId, edbInfoId)
|
|
|
- if _, chartOk := chartInfoMap[item.ChartInfoId]; !chartOk { //表示图表不存在
|
|
|
- continue
|
|
|
- }
|
|
|
if _, ok1 := existRelationMap[name]; !ok1 {
|
|
|
edbInfo, ok2 := edbInfoMap[edbInfoId]
|
|
|
if !ok2 {
|