|
@@ -96,90 +96,10 @@ func GetPredictDataListByPredictEdbInfoId(edbInfoId int, startDate, endDate stri
|
|
|
|
|
|
func GetPredictDataListByPredictEdbInfo(edbInfo *data_manage.EdbInfo, startDate, endDate string, isTimeBetween bool) (dataList []*models.EdbDataList, sourceEdbInfoItem *data_manage.EdbInfo, predictEdbConf *data_manage.PredictEdbConf, err error, errMsg string) {
|
|
|
|
|
|
- if edbInfo.EdbType != 1 {
|
|
|
- if !isTimeBetween {
|
|
|
- endDate = ``
|
|
|
- }
|
|
|
- return GetPredictCalculateDataListByPredictEdbInfo(edbInfo, startDate, endDate)
|
|
|
- }
|
|
|
-
|
|
|
- predictEdbConfList, err := data_manage.GetPredictEdbConfListById(edbInfo.EdbInfoId)
|
|
|
- if err != nil && err.Error() != utils.ErrNoRow() {
|
|
|
- errMsg = "获取预测指标配置信息失败"
|
|
|
- return
|
|
|
- }
|
|
|
- if len(predictEdbConfList) == 0 {
|
|
|
- errMsg = "获取预测指标配置信息失败"
|
|
|
- err = errors.New(errMsg)
|
|
|
- return
|
|
|
+ if !isTimeBetween {
|
|
|
+ endDate = ``
|
|
|
}
|
|
|
- predictEdbConf = predictEdbConfList[0]
|
|
|
- if predictEdbConf == nil {
|
|
|
- errMsg = "获取预测指标配置信息失败"
|
|
|
- err = errors.New(errMsg)
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- sourceEdbInfoItem, err = data_manage.GetEdbInfoById(predictEdbConf.SourceEdbInfoId)
|
|
|
- if err != nil {
|
|
|
- if err.Error() == utils.ErrNoRow() {
|
|
|
- errMsg = "找不到来源指标信息"
|
|
|
- err = errors.New(errMsg)
|
|
|
- }
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- allDataList := make([]*models.EdbDataList, 0)
|
|
|
-
|
|
|
- dataList, err = models.GetEdbDataList(sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, sourceEdbInfoItem.EdbInfoId, startDate, endDate)
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
-
|
|
|
- if startDate != `` {
|
|
|
- allDataList, err = models.GetEdbDataList(sourceEdbInfoItem.Source, sourceEdbInfoItem.SubSource, sourceEdbInfoItem.EdbInfoId, "", "")
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- } else {
|
|
|
- allDataList = dataList
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- predictDataList := make([]*models.EdbDataList, 0)
|
|
|
-
|
|
|
- endDateStr := edbInfo.EndDate
|
|
|
-
|
|
|
- if isTimeBetween && endDate != `` {
|
|
|
- reqEndDateTime, _ := time.ParseInLocation(utils.FormatDate, endDate, time.Local)
|
|
|
- endDateTime, _ := time.ParseInLocation(utils.FormatDate, edbInfo.EndDate, time.Local)
|
|
|
-
|
|
|
- if reqEndDateTime.Before(endDateTime) {
|
|
|
- endDateStr = endDate
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- var predictMinValue, predictMaxValue float64
|
|
|
- predictDataList, predictMinValue, predictMaxValue, err = GetChartPredictEdbInfoDataListByConfList(predictEdbConfList, startDate, sourceEdbInfoItem.LatestDate, endDateStr, edbInfo.Frequency, edbInfo.DataDateType, allDataList)
|
|
|
-
|
|
|
- if err != nil {
|
|
|
- return
|
|
|
- }
|
|
|
- dataList = append(dataList, predictDataList...)
|
|
|
- if len(predictDataList) > 0 {
|
|
|
-
|
|
|
- if edbInfo.MinValue > predictMinValue {
|
|
|
- edbInfo.MinValue = predictMinValue
|
|
|
- }
|
|
|
-
|
|
|
-
|
|
|
- if edbInfo.MaxValue < predictMaxValue {
|
|
|
- edbInfo.MaxValue = predictMaxValue
|
|
|
- }
|
|
|
- }
|
|
|
- return
|
|
|
+ return GetPredictCalculateDataListByPredictEdbInfo(edbInfo, startDate, endDate)
|
|
|
}
|
|
|
|
|
|
|