|
@@ -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),
|