|
@@ -4,9 +4,11 @@ import (
|
|
|
"errors"
|
|
|
"eta/eta_api/models"
|
|
|
"eta/eta_api/models/data_manage"
|
|
|
+ "eta/eta_api/models/mgo"
|
|
|
"eta/eta_api/utils"
|
|
|
"fmt"
|
|
|
"github.com/shopspring/decimal"
|
|
|
+ "go.mongodb.org/mongo-driver/bson"
|
|
|
"time"
|
|
|
)
|
|
|
|
|
@@ -391,63 +393,72 @@ func GetEdbBeforeAndAfterDateData(targetDate string, dataList []*data_manage.Edb
|
|
|
return
|
|
|
}
|
|
|
|
|
|
-//func GetPageData(edbInfoItem *data_manage.EdbInfoList) {
|
|
|
-// var dataCondition string
|
|
|
-// var dataPars []interface{}
|
|
|
-//
|
|
|
-// dataCondition += ` AND edb_info_id=? `
|
|
|
-// dataPars = append(dataPars, edbInfoItem.EdbInfoId)
|
|
|
-//
|
|
|
-// if edbInfoItem.SubSource == utils.DATA_SUB_SOURCE_DATE {
|
|
|
-// if edbInfoItem.Source == utils.DATA_SOURCE_WIND {
|
|
|
-// dataCount, err := data_manage.GetEdbWsdDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source)
|
|
|
-// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
-// br.Msg = "获取指标信息失败"
|
|
|
-// br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// page = paging.GetPaging(currentIndex, pageSize, dataCount)
|
|
|
-// dataList, err := data_manage.GetEdbWsdDataListByCondition(dataCondition, dataPars, edbInfoItem.Source, pageSize, startSize)
|
|
|
-// if err != nil {
|
|
|
-// br.Msg = "获取指标信息失败"
|
|
|
-// br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// edbInfoItem.DataList = dataList
|
|
|
-// } else if edbInfoItem.Source == utils.DATA_SOURCE_THS {
|
|
|
-// dataCount, err := data_manage.GetTHsDsDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source)
|
|
|
-// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
-// br.Msg = "获取指标信息失败"
|
|
|
-// br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// page = paging.GetPaging(currentIndex, pageSize, dataCount)
|
|
|
-// dataList, err := data_manage.GetThsDsDataListByCondition(dataCondition, dataPars, edbInfoItem.Source, pageSize, startSize)
|
|
|
-// if err != nil {
|
|
|
-// br.Msg = "获取指标信息失败"
|
|
|
-// br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// edbInfoItem.DataList = dataList
|
|
|
-// } else {
|
|
|
-// br.Msg = "指标数据源id错误"
|
|
|
-// br.ErrMsg = "指标数据源id错误"
|
|
|
-// return
|
|
|
-// }
|
|
|
-// } else {
|
|
|
-// dataCount, err := data_manage.GetEdbDataCountByCondition(dataCondition, dataPars, edbInfoItem.Source, edbInfoItem.SubSource)
|
|
|
-// if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
-// br.Msg = "获取指标信息失败"
|
|
|
-// br.ErrMsg = "获取指标数据总数失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// page = paging.GetPaging(currentIndex, pageSize, dataCount)
|
|
|
-// dataList, err := data_manage.GetEdbDataListByCondition(dataCondition, dataPars, edbInfoItem.Source, edbInfoItem.SubSource, pageSize, startSize)
|
|
|
-// if err != nil {
|
|
|
-// br.Msg = "获取指标信息失败"
|
|
|
-// br.ErrMsg = "获取指标数据失败,Err:" + err.Error()
|
|
|
-// return
|
|
|
-// }
|
|
|
-// edbInfoItem.DataList = dataList
|
|
|
-// }
|
|
|
-//}
|
|
|
+// GetPageData
|
|
|
+// @Description: 获取指标的分页数据
|
|
|
+// @author: Roc
|
|
|
+// @datetime 2024-05-07 10:33:02
|
|
|
+// @param edbInfoId int
|
|
|
+// @param source int
|
|
|
+// @param subSource int
|
|
|
+// @param startSize int
|
|
|
+// @param pageSize int
|
|
|
+// @return dataCount int
|
|
|
+// @return dataList []*data_manage.EdbData
|
|
|
+// @return err error
|
|
|
+func GetPageData(edbInfoId, source, subSource, startSize, pageSize int) (dataCount int, dataList []*data_manage.EdbData, err error) {
|
|
|
+ dataList = make([]*data_manage.EdbData, 0)
|
|
|
+
|
|
|
+ // 外部数据需要额外处理(从mongo获取)
|
|
|
+ if source == utils.DATA_SOURCE_BUSINESS {
|
|
|
+ mogDataObj := mgo.EdbDataBusiness{}
|
|
|
+ // 构建查询条件
|
|
|
+ queryConditions := bson.M{
|
|
|
+ "edb_info_id": edbInfoId,
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取数据总量
|
|
|
+ tmpCount, tmpErr := mogDataObj.GetCountDataList(queryConditions)
|
|
|
+ if tmpErr != nil && tmpErr.Error() != utils.ErrNoRow() {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ dataCount = int(tmpCount)
|
|
|
+
|
|
|
+ // 获取列表数据
|
|
|
+ tmpDataList, tmpErr := mogDataObj.GetPageDataList(queryConditions, int64(startSize), int64(pageSize), []string{"-data_time"})
|
|
|
+ if tmpErr != nil {
|
|
|
+ err = tmpErr
|
|
|
+ return
|
|
|
+ }
|
|
|
+ for k, v := range tmpDataList {
|
|
|
+ dataList = append(dataList, &data_manage.EdbData{
|
|
|
+ EdbDataId: k + 1,
|
|
|
+ EdbInfoId: v.EdbInfoId,
|
|
|
+ DataTime: v.DataTime.Format(utils.FormatDate),
|
|
|
+ Value: v.Value,
|
|
|
+ })
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ var dataCondition string
|
|
|
+ var dataPars []interface{}
|
|
|
+
|
|
|
+ dataCondition += ` AND edb_info_id=? `
|
|
|
+ dataPars = append(dataPars, edbInfoId)
|
|
|
+
|
|
|
+ // 获取数据总量
|
|
|
+ dataCount, err = data_manage.GetEdbDataCountByCondition(dataCondition, dataPars, source, subSource)
|
|
|
+ if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取列表数据
|
|
|
+ dataList, err = data_manage.GetEdbDataListByCondition(dataCondition, dataPars, source, subSource, pageSize, startSize)
|
|
|
+ if err != nil {
|
|
|
+ return
|
|
|
+ }
|
|
|
+
|
|
|
+ return
|
|
|
+}
|