|
@@ -7,7 +7,6 @@ import (
|
|
|
"eta/eta_api/models/data_manage/excel/request"
|
|
|
"eta/eta_api/services/data"
|
|
|
excel2 "eta/eta_api/services/data/excel"
|
|
|
- "fmt"
|
|
|
"strconv"
|
|
|
)
|
|
|
|
|
@@ -150,39 +149,89 @@ func (c *ExcelInfoController) CalculateData() {
|
|
|
}
|
|
|
|
|
|
// 数据处理成需要返回的样式
|
|
|
- //num := 5
|
|
|
+ num := 5
|
|
|
lenDate := len(respItem.Data.DateList)
|
|
|
- //if lenDate < 5 {
|
|
|
- // num = lenDate
|
|
|
- //}
|
|
|
-
|
|
|
- dataListResp := make([]data_manage.DataList, 0)
|
|
|
- //for i := 1; i <= num; i++ {
|
|
|
- // date := respItem.Data.DateList[lenDate-i]
|
|
|
- // val, ok := respItem.Data.DataMap[date]
|
|
|
- // if !ok {
|
|
|
- // continue
|
|
|
- // }
|
|
|
- //
|
|
|
- // dataListResp = append(dataListResp, data_manage.DataList{
|
|
|
- // Value: fmt.Sprint(val),
|
|
|
- // DataTime: date,
|
|
|
- // })
|
|
|
- //}
|
|
|
- for i := lenDate - 1; i >= 0; i-- {
|
|
|
- date := respItem.Data.DateList[i]
|
|
|
- val, ok := respItem.Data.DataMap[date]
|
|
|
- if !ok {
|
|
|
- continue
|
|
|
- }
|
|
|
+ if lenDate < 5 {
|
|
|
+ num = lenDate
|
|
|
+ }
|
|
|
|
|
|
- dataListResp = append(dataListResp, data_manage.DataList{
|
|
|
- Value: fmt.Sprint(val),
|
|
|
- DataTime: date,
|
|
|
- })
|
|
|
+ var currDate string // 当前日期
|
|
|
+ dataListResp := make([]*data_manage.EdbDataList, 0)
|
|
|
+
|
|
|
+ if req.DataTime == `` {
|
|
|
+ for i := 1; i <= num; i++ {
|
|
|
+ date := respItem.Data.DateList[lenDate-i]
|
|
|
+ val, ok := respItem.Data.DataMap[date]
|
|
|
+ if !ok {
|
|
|
+ continue
|
|
|
+ }
|
|
|
+
|
|
|
+ dataListResp = append(dataListResp, &data_manage.EdbDataList{
|
|
|
+ Value: val,
|
|
|
+ DataTime: date,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ if val, ok := respItem.Data.DataMap[req.DataTime]; ok {
|
|
|
+ for i, tmpDate := range respItem.Data.DateList {
|
|
|
+ if tmpDate == req.DataTime {
|
|
|
+ if i+3 <= lenDate {
|
|
|
+ t1Date := respItem.Data.DateList[i+2]
|
|
|
+ if tmpVal, ok2 := respItem.Data.DataMap[t1Date]; ok2 {
|
|
|
+ // 当前日期
|
|
|
+ dataListResp = append(dataListResp, &data_manage.EdbDataList{
|
|
|
+ Value: tmpVal,
|
|
|
+ DataTime: t1Date,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if i+2 <= lenDate {
|
|
|
+ t1Date := respItem.Data.DateList[i+1]
|
|
|
+ if tmpVal, ok2 := respItem.Data.DataMap[t1Date]; ok2 {
|
|
|
+ // 当前日期
|
|
|
+ dataListResp = append(dataListResp, &data_manage.EdbDataList{
|
|
|
+ Value: tmpVal,
|
|
|
+ DataTime: t1Date,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 当前日期
|
|
|
+ dataListResp = append(dataListResp, &data_manage.EdbDataList{
|
|
|
+ Value: val,
|
|
|
+ DataTime: req.DataTime,
|
|
|
+ })
|
|
|
+ if i >= 1 {
|
|
|
+ t1Date := respItem.Data.DateList[i-1]
|
|
|
+ if tmpVal, ok2 := respItem.Data.DataMap[t1Date]; ok2 {
|
|
|
+ // 当前日期
|
|
|
+ dataListResp = append(dataListResp, &data_manage.EdbDataList{
|
|
|
+ Value: tmpVal,
|
|
|
+ DataTime: t1Date,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if i >= 2 {
|
|
|
+ t1Date := respItem.Data.DateList[i-2]
|
|
|
+ if tmpVal, ok2 := respItem.Data.DataMap[t1Date]; ok2 {
|
|
|
+ // 当前日期
|
|
|
+ dataListResp = append(dataListResp, &data_manage.EdbDataList{
|
|
|
+ Value: tmpVal,
|
|
|
+ DataTime: t1Date,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ resp := data_manage.BeforeAndAfterDateDataResp{
|
|
|
+ List: dataListResp,
|
|
|
+ Date: currDate,
|
|
|
}
|
|
|
br.Ret = 200
|
|
|
br.Success = true
|
|
|
br.Msg = "计算成功"
|
|
|
- br.Data = dataListResp
|
|
|
+ br.Data = resp
|
|
|
}
|