|
@@ -16,15 +16,16 @@ import (
|
|
|
"eta/eta_api/services/excel"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
- "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
- "github.com/shopspring/decimal"
|
|
|
- "github.com/yidane/formula"
|
|
|
"io"
|
|
|
"os"
|
|
|
"path/filepath"
|
|
|
"strconv"
|
|
|
"strings"
|
|
|
"time"
|
|
|
+
|
|
|
+ "github.com/rdlucklib/rdluck_tools/paging"
|
|
|
+ "github.com/shopspring/decimal"
|
|
|
+ "github.com/yidane/formula"
|
|
|
)
|
|
|
|
|
|
// ExcelInfoController ETA表格管理
|
|
@@ -1948,6 +1949,129 @@ func (c *ExcelInfoController) GetOtherEdbData() {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// GetBatchEdbData
|
|
|
+// @Title 批量获取指定日期数据接口
|
|
|
+// @Description 批量获取未来日期数据接口
|
|
|
+// @Param request body request.GetBatchEdbDateDataReq true "type json string"
|
|
|
+// @router /excel_info/table/batch_edb_data_list [post]
|
|
|
+func (c *ExcelInfoController) GetBatchEdbData() {
|
|
|
+ br := new(models.BaseResponse).Init()
|
|
|
+ defer func() {
|
|
|
+ c.Data["json"] = br
|
|
|
+ c.ServeJSON()
|
|
|
+ }()
|
|
|
+
|
|
|
+ sysUser := c.SysUser
|
|
|
+ if sysUser == nil {
|
|
|
+ br.Msg = "请登录"
|
|
|
+ br.ErrMsg = "请登录,SysUser Is Empty"
|
|
|
+ br.Ret = 408
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var req []*request.GetBatchEdbDateDataReq
|
|
|
+ err := json.Unmarshal(c.Ctx.Input.RequestBody, &req)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "参数解析异常!"
|
|
|
+ br.ErrMsg = "参数解析失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ tableList := make([]*response.TableDataItem, 0)
|
|
|
+ var firstDataList []string
|
|
|
+ for i, v := range req {
|
|
|
+ if v.EdbInfoId <= 0 {
|
|
|
+ br.Msg = "请选择指标"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if v.Num <= 0 {
|
|
|
+ br.Msg = "期数必须大于0"
|
|
|
+ br.IsSendEmail = false
|
|
|
+ return
|
|
|
+ }
|
|
|
+ edbInfo, err := data_manage.GetEdbInfoById(v.EdbInfoId)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprint("获取指标信息失败,Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+ if len(firstDataList) == 0 {
|
|
|
+ firstDataList = v.DateList
|
|
|
+ }
|
|
|
+ if i == 0 {
|
|
|
+ dataList, err := excel2.GetFirstEdbDataList(edbInfo, v.Num, firstDataList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 默认是倒序返回的数据,如果要正序的话,那么翻转下就好了
|
|
|
+ if v.SortType == "asc" {
|
|
|
+ for i, j := 0, len(dataList)-1; i < j; i, j = i+1, j-1 {
|
|
|
+ dataList[i], dataList[j] = dataList[j], dataList[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{v.EdbInfoId})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+ tableList = append(tableList, &response.TableDataItem{
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ Data: dataList,
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
+ })
|
|
|
+ if len(firstDataList) == 0 {
|
|
|
+ tmpDataList := make([]string, 0)
|
|
|
+ for _, v := range dataList {
|
|
|
+ tmpDataList = append(tmpDataList, v.DataTime)
|
|
|
+ }
|
|
|
+ firstDataList = tmpDataList
|
|
|
+ }
|
|
|
+ } else {
|
|
|
+ dataList, err := excel2.GetOtherEdbDataList(edbInfo, firstDataList)
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "获取失败"
|
|
|
+ br.ErrMsg = fmt.Sprint("获取失败,Err:", err.Error())
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 默认是倒序返回的数据,如果要正序的话,那么翻转下就好了
|
|
|
+ if v.SortType == "asc" {
|
|
|
+ for i, j := 0, len(dataList)-1; i < j; i, j = i+1, j-1 {
|
|
|
+ dataList[i], dataList[j] = dataList[j], dataList[i]
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ sourceNameList, sourceNameEnList, err := excel2.GetEdbSourceByEdbInfoIdList([]int{v.EdbInfoId})
|
|
|
+ if err != nil {
|
|
|
+ br.Msg = "自定义表格数据获取失败"
|
|
|
+ br.ErrMsg = "自定义表格数据获取失败,Err:" + err.Error()
|
|
|
+ return
|
|
|
+ }
|
|
|
+ excelSource := strings.Join(sourceNameList, ",")
|
|
|
+ excelSourceEn := strings.Join(sourceNameEnList, ",")
|
|
|
+ tableList = append(tableList, &response.TableDataItem{
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ Data: dataList,
|
|
|
+ ExcelSource: excelSource,
|
|
|
+ ExcelSourceEn: excelSourceEn,
|
|
|
+ })
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ br.Ret = 200
|
|
|
+ br.Success = true
|
|
|
+ br.Msg = "获取成功"
|
|
|
+ br.Data = tableList
|
|
|
+}
|
|
|
+
|
|
|
// GetFutureDateData
|
|
|
// @Title 获取未来日期数据接口
|
|
|
// @Description 获取未来日期数据接口
|