Browse Source

fix:新增指标计算接口

Roc 1 year ago
parent
commit
0b3ea6229b

+ 23 - 1
controllers/data_manage/excel/mixed_table.go

@@ -7,6 +7,7 @@ import (
 	"eta/eta_api/models/data_manage/excel/request"
 	"eta/eta_api/services/data"
 	excel2 "eta/eta_api/services/data/excel"
+	"fmt"
 	"strconv"
 )
 
@@ -148,8 +149,29 @@ func (c *ExcelInfoController) CalculateData() {
 		return
 	}
 
+	// 数据处理成需要返回的样式
+	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,
+		})
+	}
+
 	br.Ret = 200
 	br.Success = true
 	br.Msg = "获取系统日期成功"
-	br.Data = respItem.Data
+	br.Data = dataListResp
 }

+ 7 - 7
models/data_manage/excel/request/mixed_table.go

@@ -79,11 +79,11 @@ type EdbDateConf struct {
 type CalculateConf struct {
 	EdbInfoId int `description:"指标id"`
 	//DataList      []*EdbInfoSearchData
-	DataTime      string `description:"所属日期"`
-	Frequency     string `description:"需要转换的频度"`
-	Formula       string `description:"计算公式,默认是string,实际上还需要转成其他样式"`
-	Calendar      string `description:"公历/农历"`
-	MoveType      int    `description:"移动方式:1:领先(默认),2:滞后"`
-	MoveFrequency string `description:"移动频度"`
-	Source        int    `description:"1:累计值转月;2:累计值转季;3:同比值;4:同差值;5:N数值移动平均数计算;6:环比值;7:环差值;8:升频;9:降频;10:时间移位;11:超季节性;12:年化;13:累计值;14:累计值年初至今;15:指数修匀;16:日均值"`
+	DataTime      string      `description:"所属日期"`
+	Frequency     string      `description:"需要转换的频度"`
+	Formula       interface{} `description:"计算公式,默认是string,实际上还需要转成其他样式"`
+	Calendar      string      `description:"公历/农历"`
+	MoveType      int         `description:"移动方式:1:领先(默认),2:滞后"`
+	MoveFrequency string      `description:"移动频度"`
+	Source        int         `description:"1:累计值转月;2:累计值转季;3:同比值;4:同差值;5:N数值移动平均数计算;6:环比值;7:环差值;8:升频;9:降频;10:时间移位;11:超季节性;12:年化;13:累计值;14:累计值年初至今;15:指数修匀;16:日均值"`
 }

+ 9 - 0
routers/commentsRouter.go

@@ -394,6 +394,15 @@ func init() {
             Filters: nil,
             Params: nil})
 
+    beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/excel:ExcelInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/excel:ExcelInfoController"],
+        beego.ControllerComments{
+            Method: "CalculateData",
+            Router: `/excel_info/mixed/calculate`,
+            AllowHTTPMethods: []string{"post"},
+            MethodParams: param.Make(),
+            Filters: nil,
+            Params: nil})
+
     beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/excel:ExcelInfoController"] = append(beego.GlobalControllerRouter["eta/eta_api/controllers/data_manage/excel:ExcelInfoController"],
         beego.ControllerComments{
             Method: "Move",