Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/debug' into debug

zwxi 8 mēneši atpakaļ
vecāks
revīzija
e6dd594c59

+ 12 - 0
controllers/data_manage/edb_info_calculate.go

@@ -2013,6 +2013,18 @@ func (this *ChartInfoController) CalculateMapping() {
 		br.ErrMsg = "获取失败,Err:" + e.Error()
 		return
 	}
+
+	// 英文来源,显示英文名称
+	if this.Lang == utils.EnLangVersion {
+		fromEdbInfo, e := data_manage.GetEdbInfoById(item.FromEdbInfoId)
+		if e != nil {
+			br.Msg = "获取失败"
+			br.ErrMsg = "获取失败,Err:" + e.Error()
+			return
+		}
+		item.FromEdbName = fromEdbInfo.EdbNameEn
+	}
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "保存成功"

+ 2 - 3
controllers/data_manage/future_good/future_good_chart_info.go

@@ -1359,7 +1359,7 @@ func getFutureGoodChartInfo(chartInfo *data_manage.ChartInfoView, chartType, dat
 
 	baseEdbInfoId := barConfig.BaseEdbInfoId
 	var baseEdbInfoMapping *data_manage.ChartEdbInfoMapping
-	// todo 兼容历史数据,
+
 	if baseEdbInfoId == 0 {
 		// 默认取第一个现货指标
 		baseEdbInfoId = edbInfoMappingList[0].EdbInfoId
@@ -1689,7 +1689,7 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
 
 	baseEdbInfoId := barConfig.BaseEdbInfoId
 	var baseEdbInfoMapping *data_manage.ChartEdbInfoMapping
-	// todo 兼容历史数据,
+
 	if baseEdbInfoId == 0 {
 		// 默认取第一个现货指标
 		baseEdbInfoId = edbInfoMappingList[0].EdbInfoId
@@ -2165,7 +2165,6 @@ func (this *FutureGoodChartInfoController) BaseChartInfoDetailFromUniqueCode() {
 
 		baseEdbInfoId := barConfig.BaseEdbInfoId
 		var baseEdbInfoMapping *data_manage.ChartEdbInfoMapping
-		// todo 兼容历史数据,
 		if baseEdbInfoId == 0 {
 			// 默认取第一个现货指标
 			baseEdbInfoId = edbInfoMappingList[0].EdbInfoId

+ 5 - 4
services/data/future_good/chart_info.go

@@ -158,7 +158,7 @@ func GetChartEdbData(chartInfoId int, startDate, endDate string, baseEdbInfoMapp
 			EdbName:             v.FutureGoodEdbName,
 			EdbAliasName:        v.FutureGoodEdbName,
 			EdbNameEn:           v.FutureGoodEdbNameEn,
-			EdbType:             baseEdbInfoMapping.EdbType, //todo baseEdbInfoMapping
+			EdbType:             baseEdbInfoMapping.EdbType,
 			Frequency:           baseEdbInfoMapping.Frequency,
 			FrequencyEn:         baseEdbInfoMapping.FrequencyEn,
 			Unit:                baseEdbInfoMapping.Unit,
@@ -357,8 +357,10 @@ func GetChartEdbData(chartInfoId int, startDate, endDate string, baseEdbInfoMapp
 		}
 
 		// 基础指标
+		baseEdbIds := make([]int, 0)
 		for _, tmp := range edbInfoMappingList {
 			edbInfoIdList = append(edbInfoIdList, tmp.EdbInfoId)
+			baseEdbIds = append(baseEdbIds, tmp.EdbInfoId)
 			tmpVal, ok := yDataMap[tmp.EdbInfoId]
 			valueList = append(valueList, tmpVal)
 			if !ok || tmpVal == 0 {
@@ -386,8 +388,8 @@ func GetChartEdbData(chartInfoId int, startDate, endDate string, baseEdbInfoMapp
 
 		for i := lenEdbId - 1; i >= 0; i-- {
 			// 如果没有在无数据的指标列表中找到,那么就找到了最大x轴的下标
-			if _, ok := noDataEdbIdMap[edbInfoIdList[i]]; !ok {
-				// 如果最大x轴的下标 小于 当前下标,那么就重新赋值
+			if _, ok := noDataEdbIdMap[edbInfoIdList[i]]; !ok || utils.InArrayByInt(baseEdbIds, edbInfoIdList[i]) { //以往的逻辑是碰到第一个无数据的期货指标,那后续的月份都是无数据的,因此需要特殊处理,改成多个现货指标之后需要排除无值的现货指标
+				// 如果最大x轴的下标 小于 当前下标,那么就重新赋值
 				if maxIndex < i-1 {
 					maxIndex = i - 1
 				}
@@ -679,7 +681,6 @@ func handleResultData(regionType string, futureGoodEdbType, baseEdbLen int, yDat
 			if i > maxIndex {
 				break
 			}
-			// todo x轴 内容调整
 			xDataList = append(xDataList, data_manage.XData{
 				Name:   fmt.Sprint("M+", i),
 				NameEn: fmt.Sprint("M+", i),