Browse Source

利润指标曲线修改

xyxie 9 months ago
parent
commit
95bf13aa13

+ 1 - 0
controllers/data_manage/future_good/future_good_chart_info.go

@@ -1676,6 +1676,7 @@ func GetChartInfoDetailFromUniqueCode(chartInfo *data_manage.ChartInfoView, isCa
 		// 默认取第一个现货指标
 		baseEdbInfoId = edbInfoMappingList[0].EdbInfoId
 		baseEdbInfoMapping = edbInfoMappingList[0]
+		barConfig.BaseEdbInfoId = baseEdbInfoId
 	} else {
 		baseEdbInfoMapping, err = data_manage.GetChartEdbMappingByEdbInfoId(baseEdbInfoId)
 		if err != nil {

+ 26 - 14
services/data/future_good/profit_chart_info.go

@@ -267,27 +267,39 @@ func ProfitChartChartData(baseEdbInfo *data_manage.EdbInfo, baseDataListMap map[
 		// 现货指标
 		index := 0
 		var realDateTime time.Time
+		// 现货指标
+		baseEdbDateData, ok := allBaseEdbDateDataMap[baseEdbInfo.EdbInfoId]
+		if !ok {
+			err = fmt.Errorf("指标id: %d 没有数据", baseEdbInfo.EdbInfoId)
+			return
+		}
+		realDateTime, findDataValue, isFind, tmpErr := GetNeedDateData(findDateTime, baseDataListMap[baseEdbInfo.EdbInfoId], baseEdbDateData, edbDataMap)
+		if tmpErr != nil {
+			err = tmpErr
+			return
+		}
+		if isFind {
+			maxDate = realDateTime
+		}
 		for edbInfoId, baseDataList := range baseDataListMap {
-			baseEdbDateData, ok := allBaseEdbDateDataMap[edbInfoId]
+			if edbInfoId == baseEdbInfo.EdbInfoId {
+				findDataList = append(findDataList, findDataValue)
+				yDataMap[0] = findDataValue
+				xEdbInfoIdList = append(xEdbInfoIdList, edbInfoId)
+				continue
+			}
+			baseEdbDateDataTmp, ok := allBaseEdbDateDataMap[edbInfoId]
 			if !ok {
 				err = fmt.Errorf("指标id: %d 没有数据", edbInfoId)
 				return
 			}
-			realDateTimeTmp, findDataValue, isFind, tmpErr := GetNeedDateData(findDateTime, baseDataList, baseEdbDateData, edbDataMap)
-			if tmpErr != nil {
-				err = tmpErr
+			_, findDataValueTmp, _, e := GetNeedDateData(realDateTime, baseDataList, baseEdbDateDataTmp, edbDataMap)
+			if e != nil {
+				err = e
 				return
 			}
-			findDataList = append(findDataList, findDataValue)
-			yDataMap[index] = findDataValue
-			if edbInfoId == baseEdbInfo.EdbInfoId {
-				realDateTime = realDateTimeTmp
-			}
-			if isFind {
-				if edbInfoId == baseEdbInfo.EdbInfoId {
-					maxDate = realDateTimeTmp
-				}
-			}
+			findDataList = append(findDataList, findDataValueTmp)
+			yDataMap[index] = findDataValueTmp
 
 			xEdbInfoIdList = append(xEdbInfoIdList, edbInfoId)
 			index += 1