|
@@ -172,9 +172,13 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
|
|
|
continue
|
|
|
}
|
|
|
baseVal = calDataList[len(calDataList)-1].Value
|
|
|
+ baseDate := calDataList[len(calDataList)-1].DataTime
|
|
|
if baseVal == 0 {
|
|
|
continue
|
|
|
}
|
|
|
+ if v.DataTime == baseDate {
|
|
|
+ continue
|
|
|
+ }
|
|
|
|
|
|
val := (v.Value - baseVal) / baseVal
|
|
|
val, _ = decimal.NewFromFloat(val).Round(4).Float64()
|
|
@@ -187,13 +191,17 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
|
|
|
}
|
|
|
} else {
|
|
|
for _, item := range originList {
|
|
|
- var baseVal float64
|
|
|
- for k, v := range item.DataList {
|
|
|
- if k == 0 {
|
|
|
- baseVal = v.Value
|
|
|
- if baseVal == 0 {
|
|
|
- break
|
|
|
- }
|
|
|
+ if len(item.DataList) == 0 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ baseVal := item.DataList[len(item.DataList)-1].Value
|
|
|
+ baseDate := item.DataList[len(item.DataList)-1].DataTime
|
|
|
+ if baseVal == 0 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ for _, v := range item.DataList {
|
|
|
+ if v.DataTime == baseDate {
|
|
|
+ continue
|
|
|
}
|
|
|
val := (v.Value - baseVal) / baseVal
|
|
|
val, _ = decimal.NewFromFloat(val).Round(4).Float64()
|
|
@@ -248,15 +256,16 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
|
|
|
}
|
|
|
} else {
|
|
|
for _, item := range originList {
|
|
|
- var baseVal float64
|
|
|
- var baseDate string
|
|
|
- for k, v := range item.DataList {
|
|
|
- if k == 0 {
|
|
|
- baseVal = v.Value
|
|
|
- baseDate = v.DataTime
|
|
|
- if baseVal == 0 {
|
|
|
- break
|
|
|
- }
|
|
|
+ if len(item.DataList) == 0 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ baseVal := item.DataList[len(item.DataList)-1].Value
|
|
|
+ baseDate := item.DataList[len(item.DataList)-1].DataTime
|
|
|
+ if baseVal == 0 {
|
|
|
+ break
|
|
|
+ }
|
|
|
+ for _, v := range item.DataList {
|
|
|
+ if v.DataTime == baseDate {
|
|
|
continue
|
|
|
}
|
|
|
baseDateT, e := time.ParseInLocation(utils.FormatDate, baseDate, time.Local)
|
|
@@ -356,6 +365,7 @@ func HandleDataByCalculateType(originList []*models.ChartRangeAnalysisDateDataIt
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
return
|
|
|
}
|
|
|
|